-1
私は、古いブラウザのJavaScriptを使ってPHPファイルをロードしますか?だから私は自分のファイルを取得するためのXMLHttpRequestを使用していますが、onreadystatechange
はIE8 :(IEHのXMLHttpRequest onreadystatechange
にこの私のコードは動作しません:
function getOldBrowserBlock() {
var blockOldBrowser = document.getElementById('js-old-browser'),
filePath = '/wp-content/themes/bla/includes/alert-ie.php',
x;
if (XMLHttpRequest) {
x = new XMLHttpRequest();
} else {
x = new ActiveXObject('Microsoft.XMLHTTP');
}
// On charge le fichier
x.open('GET', filePath, false);
x.send();
/**
* Description for onreadystatechange
* @private
* @method onreadystatechange
* @return {Object} description
*/
x.onreadystatechange = function() {
alert('this dont work on IE8');
if (x.readyState == 4) {
// Si le fichier est chargé
if (x.status == 200) {
// On affiche le message
blockOldBrowser.innerHTML = x.responseText;
}
}
};
}
あなたのアイデアを持っていますか
Thakあなた
'o 'send'コールを実行する前にnreadystatechangeを実行してください –
これはブラウザ上で動作すると非常に混乱します。あなたは 'false'を3番目のパラメータとして使用しています。これは要求を同期させるものです。この場合、sendステートメントがブロックされるのではなく、readystate変更コールバックは決して呼び出されません。 – devnull69
私はonreadystatechangeの後にsend()を追加しようとしましたが、結果がなく、asynchroneのためにtrueを追加しました –