我正在开发一个带有棘轮2.0.2的Phonegap应用程序,使用push.js进行页面之间的转换.一切顺利,但几个小时前我偶然发现了这个:
包含JavaScript的脚本标记不会在使用push.js加载的页面上执行.如果要将事件处理程序附加到其他页面上的元素,则文档级事件委派是一种常见的解决方案.
经过更多的研究后,我发现了这一点:在用Ratchet\Push.js加载页面后执行自定义脚本
这几乎是我遇到的同样问题,但是我需要更进一步,因为我不仅要加载一个脚本,而且需要加载两个(以后可能更多),如何利用checkPage()加载多个脚本脚本?
var checkPage = function(){ //Only run if twitter-widget exists on page if(document.getElementById('twitter-widget')) { loadTwitterFeed(document,"script","twitter-wjs"); } }; window.addEventListener('push', checkPage);
Schmalzy.. 6
更新:另见这个问题.
这是一个我尝试过的解决方案,它似乎工作正常,但我正在寻找一些关于这是否是最好的方法的反馈...请随意发表评论,我会根据需要进行更新.我知道这eval()
很危险,但我不确定在这种情况下有多危险.
在你的索引\第一页发生在你的页面的底部,下面的脚本以外的的.content
DIV,以便它不会被覆盖push.js
.
然后,在任何其他通过加载的页面上push.js
,只需给脚本一个类.js-custom
.该脚本必须放在INSIDE的.content
股利.
...
第一个脚本将找到并循环遍历任何类的标签
.js-custom
并使用它来执行它的内容eval()
.
更新:另见这个问题.
这是一个我尝试过的解决方案,它似乎工作正常,但我正在寻找一些关于这是否是最好的方法的反馈...请随意发表评论,我会根据需要进行更新.我知道这eval()
很危险,但我不确定在这种情况下有多危险.
在你的索引\第一页发生在你的页面的底部,下面的脚本以外的的.content
DIV,以便它不会被覆盖push.js
.
然后,在任何其他通过加载的页面上push.js
,只需给脚本一个类.js-custom
.该脚本必须放在INSIDE的.content
股利.
...
第一个脚本将找到并循环遍历任何类的标签
.js-custom
并使用它来执行它的内容eval()
.