Safari 中的 JavaScript 文档文本区域问题

JavaScript document textarea issue in Safari

本文关键字:区域 问题 文本 文档 中的 JavaScript Safari      更新时间:2023-09-26

我是 JavaScript 的新手,一直在修改 JavaScriptKit 中一个不安全的 JavaScript 测验,主要是在 JSLint 和 Firebug 中整理它,并试图让它在 Safari 上运行(特别是针对 iPad(。该测验在IE9,Chrome和Firefox中效果很好。

经过三天和论坛的帮助,这个问题已经缩小到JavaScript方法parse被用作变量!Safari JavaScript 调试返回

引用错误:找不到变量解析

这是有道理的(尽管为什么其他浏览器似乎不关心很奇怪(。此处提供了此版本的当前版本(带有一些警报(,错误发生在results.htm页面上。

该功能在下面,我不知道如何解决它。我parse更改为parced和其他名称,认为它只需要是一个变量,但这会使它在所有浏览器中都失败!我实际上不明白文档如何将信息写入文本区域,只是它像魔术一样在三个浏览器中工作!任何帮助将不胜感激。

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);
}

您尚未在任何地方声明parse,这可能会导致某些浏览器出现随机问题。 我会改变:

var e, n, results, temp, totalquestions;

var e, n, results, temp, totalquestions, parse;

问题出在...

results[n].charAt(1) 

位置 1 实际上是 "=" 而不是 "Q">

正确的代码应该是...

if (results[n].charAt(0)=='q'){

我知道这是一个旧帖子,但我今天实际上遇到了同样的问题。