Ben bir web sitesinde her sayfaya bir arayıcı ekler bir php fonksiyonu var.
Site kullanıcı javascript etkin olup olmadığını görmek için kontrol eder ve eğer o (yerine geri dönüş Onchange = "form.submit ()" bulunuyor kullanarak) seçme kutularını bağlamak için bazı jquery ajax şeyler ekler.
$. GetJSON IE dışındaki tarayıcılarda mükemmel benim için çalışıyor, ben bir tam sayfa yenileme IE (ctrl + F5) Ben yeni bir sayfa (veya $ PHP_SELF ile aynı sayfada) ya gezinmek kadar benim ajax sorunsuz çalışıyor yaparsanız Formu teslim edilmesi ya da bir bağlantıyı işlev yangınları Onchange jquery tıklayarak ama sonra jquery bir hata atar:
Webpage error details
İleti: Nesne bu özelliği veya yöntemi desteklemiyor
Satır: 123
Char: 183
Kod: 0
URI: http://~#UNABLE~TO~DISCLOSE#~/jquery-1.4.2.min.js
Bu jQuery fonksiyonu $. GetJSON () gibi görünüyor gitti??
Bu ikinci sayfa yük olur önbelleğe alma sorunu bir tür gibi görünüyor ama ben burada bu reklamların jquery fonksiyonları kod parçası, mikroişlemciyi, ben zaten yerde tüm önbelleğe önlenmesini gitmek düşünüyorum:
if (isset($_SESSION['NO_SCRIPT']) == true && $_SESSION['NO_SCRIPT'] == false)
{
$html .= '<script type="text/javascript" charset="utf-8">';
$html .= '$.ajaxSetup({ cache: false });';
$html .= '$.ajaxSetup({"error":function(XMLHttpRequest,textStatus, errorThrown) {
alert(textStatus);
alert(errorThrown);
alert(XMLHttpRequest.responseText);
}});';
$html .= '</script>';
$html .= '<script type="text/javascript" charset="utf-8">';
$html .= '$(function(){ $("select#searchtype").change(function() { ';
$html .= 'alert("change fired!"); ';
$html .= '$.getJSON("ajaxgetcategories.php", {id: $(this).val()}, function(j) { ';
$html .= 'alert("ajax returned!"); ';
$html .= 'var options = \'\'; ';
$html .= 'options += \'<option value="0" >--\' + j[0].all + \'--</option>\'; ';
$html .= 'for (var i = 0; i < j.length; i++) { options += \'<option value="\' + j[i].id + \'">\' + j[i].name + \'</option>\'; } ';
$html .= '$("select#searchcategory").html(options); }) }) }) ';
$html .= '</script> ';
$html .= '<script type="text/javascript" charset="utf-8"> ';
$html .= '$(function(){ $("select#searchregion").change(function() { ';
$html .= 'alert("change fired!"); ';
$html .= '$.getJSON("ajaxgetcountries.php", {id: $(this).val()}, function(j) { ';
$html .= 'alert("ajax returned!"); ';
$html .= 'var options = \'\'; ';
$html .= 'options += \'<option value="0" >--\' + j[0].all + \'--</option>\'; ';
$html .= 'for (var i = 0; i < j.length; i++) { options += \'<option value="\' + j[i].id + \'">\' + j[i].name + \'</option>\'; } ';
$html .= '$("select#searchcountry").html(options); }) }) }) ';
$html .= '</script> ';
}; return $html;
Bu html içine bir komut dosyası ekler ve üzgün bir php funtion parçası olduğunu unutmayın biraz dağınık görünüyor, PHP ve JavaScript için yeni ve ben de biraz pasaklı değilim :)
Ayrıca bu ilk ziyaret IE mükemmel çalışır, ancak herhangi gösterime sonra hatayı alıyorum lütfen unutmayın.
Teşekkürler çocuklar