我使用'net.rim.device.api.browser.field2.BrowserField‘加载包含2个脚本的html页面。
(Jquery)
第二个脚本加载两次。就像脚本被加载了一样。根据其在html文件中的位置计算时间。
第5位脚本文件将分别加载5次和5次。
提前谢谢。
发布于 2012-06-26 12:37:49
我一直在尝试繁殖,但我失败了。考虑一下这个简单的BB应用程序:
package mypackage;
import net.rim.device.api.browser.field2.BrowserField;
import net.rim.device.api.ui.UiApplication;
import net.rim.device.api.ui.container.MainScreen;
public class MyApp extends UiApplication
{
final class MyScreen extends MainScreen
{
protected BrowserField browser;
protected static final String URL = "http://www.craigmj.com/bbtest/index.html";
public MyScreen()
{
setTitle(URL);
browser = new BrowserField();
add(browser);
browser.requestContent(URL);
}
}
public static void main(String[] args)
{
MyApp theApp = new MyApp();
theApp.enterEventDispatcher();
}
public MyApp()
{
pushScreen(new MyScreen());
}
}现在,它加载的index.html如下所示:
<html>
<head>
<script language="javascript" src="js1.js"></script>
<script language="javascript" src="js2.js"></script>
<script language="javascript" src="js2.js"></script>
<script language="javascript" src="js3.js"></script>
<script language="javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script language="javascript">
function loadFn() {
res = "";
for (var i=1; i<4; i++) {
res += "js" + i + " = " + getCount("js"+i) + ", ";
}
document.getElementById("val").value = res;
}
</script>
</head>
<body onLoad="loadFn();"><h1>Loading...</h1>
<input type="text" id="val" name="val" size="30"/>
</body></html>js1.js是:
function jsCount(jsFile) {
if ("undefined"==typeof window[jsFile]) {
window[jsFile] = 0;
}
window[jsFile] = window[jsFile] + 1;
}
function getCount(jsFile) {
return window[jsFile];
}
jsCount("js1");js2.js和js3.js是:
jsCount("js2");和
jsCount("js3");(你可以在http://www.craigmj.com/bbtest/找到他们.)
我在9700模拟器和我的9900设备上得到了预期的结果。
js1 = 1, js2 = 2, js3 = 1,它在黑莓5操作系统上不起作用,但这似乎是因为BB5上的浏览器不支持script标签。
我们能弄清楚这个错误在哪里以及如何被复制吗?
https://stackoverflow.com/questions/9702338
复制相似问题