我们有一些JavaScript将脚本包括在我们的网页中的动态资源中,以便允许我们在服务于不同服务器的页面之间传递一些信息,这些服务器受到跨站点脚本限制.
这个想法是浏览器请求由服务器端的动态资源提供服务的JavaScript文件(它还将一些服务器端信息放入请求中).然后,当浏览器将JavaScript文件添加到页面时,将执行该JavaScript文件.
我们遇到了Internet Explorer的问题,当响应中返回的JavaScript在添加到页面时间歇性地不执行时.发生问题时检查Fiddler HTTP跟踪显示脚本已成功返回到浏览器.
为了更可靠地测试这个,我改变了添加脚本的代码,在循环中运行1000次,如下所示:
for (var i = 1; i <= 1000; i++) {
try {
var script = document.createElement("SCRIPT");
script.src = serverHome + "/ajavascriptfile.js?token=" + token + "&num=" + i;
script.id = token;
document.getElementsByTagName("HEAD")[0].appendChild( script );
} catch (e) {
alert(e);
}
}
Run Code Online (Sandbox Code Playgroud)
返回的脚本ajavascriptfile.js只需在页面上增加一个计数器:
var output = document.getElementById("output");
output.innerHTML = parseInt(output.innerHTML) + 1;
Run Code Online (Sandbox Code Playgroud)
在此测试中没有捕获或警告异常.
如果这正确执行,计数器应该达到1000(它在Firefox中执行).然而在IE6中平均为900-950,IE7为995-998,IE8为750-800.
有没有其他人遇到Internet Explorer没有执行动态包含的脚本?如果是这样,你知道如何解决这个问题吗?
我需要显示递增的单个字符,以表示JSP中数据表中的脚注.在Java中,我通常会有一个char变量并且只是递增它,或者通过强制转换它将int转换为char(例如(char)(i + 97)将基于0的索引转换为az).我无法弄清楚如何在表达式语言中做到这一点,而不是编写我自己的JSTL函数.
有谁知道如何在EL中将int转换为char?或者如何增加EL中的char变量?或者甚至可能是一种更好的技术来做我在JSP/EL中尝试做的事情?
:什么,我需要能够产生例如
一个 MYDATA
b myotherdata
......
一个第一个脚注
b第二脚注