这似乎是一个众所周知的问题,之前已经多次询问过SO但是我没有看到jQTouch的具体内容,所以我想我会尝试一下。
jQT将在单击链接时动态加载页面。在这个页面中,我想包含类似
的内容<script>
$.include('javascriptfile.js', function() {alert('do something with results of this file to an already existing div element');};
</script>
$ .include是一个jquery插件,我发现它模仿$ .load并添加了一些智能。经过测试可以在FF上使用,但不能在Chrome中使用,或者最重要的是在Safari中使用。
永远不会显示警报。 FireBug从未显示即使正在加载的javascript。如果我在$ .include之前发出警报,我仍然没有看到任何东西。
我尝试了一个onclick / ontap事件,然后运行包含在head标签中的代码,没有运气。
编辑:我正在使用jQT的r148版本。在相信这个版本之前,这是有效的。
答案 0 :(得分:0)
您是否尝试使用以下两种方法之一添加javascript文件:
静态方式:
<script type="text/javascript">
function staticLoadScript(url){
document.write('<script src="', url, '" type="text/JavaScript"><\/script>');
}
staticLoadScript("javascriptfile.js");
modifyDivFn(processFnInFile());
</script>
动态方式:
<script type="text/javascript">
function dhtmlLoadScript(url){
var e = document.createElement("script");
e.src = url;
e.type="text/javascript";
document.getElementsByTagName("head")[0].appendChild(e);
}
onload = function(){
dhtmlLoadScript("javascriptfile.js");
modifyDivFn(processFnInFile());
}
</script>
在include之后你可以调用一个执行你想要的处理的函数(即processFnInFile()),结果将被传递给modifyDivFn(并修改你想要的div。)你可以在一个函数中执行此操作,只需要说明了这个想法。
答案 1 :(得分:0)
好的Geries,我感谢你的帮助,但最终答案需要彻底重新思考我如何使用JQTouch。解决方案是将所有内容移动到onclick事件,并使所有href链接到#。这可能就是你所说的Geries。
在onclick函数中,我通过jquery通过我自己的GET进行逻辑,预加载,页面加载,然后使用公共对象jQT.goTo(div,transition)。这似乎可以解决WebKit漏洞或我遇到的任何问题,现在可以看看FireFox,Chrome,Safari,iPhone以及它们。
我确实遇到了JQT的一些动画问题,但我认为这些是已知的问题,我希望Stark和JQTouch的团伙正在努力。