私はJavaScriptを初めて使用し、JavaScriptKitから安全でないJavaScriptクイズを変更してきました。主に、JSLintとFirebugで整理し、Safari(特にiPad用)で動作させようとしています。クイズはIE9、Chrome、Firefoxでうまく機能します。
parse
3日間とフォーラムの助けを借りて、問題は変数として使用されているJavaScriptメソッドに絞り込まれました。SafariJavaScriptデバッグは
ReferenceError:変数の解析が見つかりません
そしてそれは理にかなっています(他のブラウザが気にしないように見える理由は奇妙ですが)。いくつかのアラートを含むこの現在のバージョンは、ページでエラーが発生している状態で、ここresults.htm
から入手できます。
関数は以下のとおりですが、修正方法がわかりません。私は他の名前に変更parse
しましたparced
が、それは変数である必要があると考えていますが、これによりすべてのブラウザで失敗します!ドキュメントがテキスト領域に情報を書き込む方法を実際には理解していません。魔法のように3つのブラウザで機能するだけです。どんな助けでもいただければ幸いです。
var wrong = 0;
var e, n, results, temp, totalquestions;
for (e = 0; e <= 2; e++) {
document.result[e].value = "";
}
var results = document.cookie.split(";");
alert("var results = " + results);
for (n = 0; n <= results.length - 1; n++) {
alert("results length = " + results.length); <!--last alert in Safari -->
if (results[n].charAt(1) === 'q') {
parse = n;
alert("parse = " + parse);
}
}
var incorrect = results[parse].split("=");
alert("var incorrect = " + incorrect);
incorrect = incorrect[1].split("/");
alert("var incorrect after split = " + incorrect);
if (incorrect[incorrect.length - 1] === 'b') {
incorrect = "";
}
document.result[0].value = totalquestions - incorrect.length + " out of " + totalquestions;
document.result[2].value = ((totalquestions - incorrect.length) / totalquestions * 100).toFixed() + "%";
for (temp = 0; temp < incorrect.length; temp++) {
document.result[1].value += incorrect[temp] + ", ";
alert("the value of temp is " + temp);
}