我创建了一个书签,它使用jQuery来计算HTML中某些<div>
和<script>
标签的出现次数,并使用alert()来显示计数。它大部分时间都有效,但有时会出现两种不同的意外行为:1)单击书签时不会发生任何事情;或者2)单击书签将导致页面仅使用以下文本重新加载:“[object HTMLScriptElement]”on一个空白页。该脚本应该可以工作,无论在此页面上是否存在搜索的特定<div>
和<script>
标签。例如,书签工作在stackoverflow上,即使它不包含特定的标签。然而,它不适用于某些网站(也没有特定标签),例如google.com。jQuery Bookmarklet零星地为未知原因工作
这里是具有spcific <script>
标签的页面,但点击时,它的书签不会做任何事情:www.laboutique.bouyguestelecom.fr
这里是书签代码的全部:
javascript:
if (typeof jQuery == 'undefined') {
var jQ = document.createElement('script');
jQ.type = 'text/javascript';
jQ.onload=runthis;
jQ.src = 'http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js';
document.body.appendChild(jQ);
} else {
runthis();
}
function runthis() {
alert("total div tags: " + $('div[id^="inqC2C"]').length + "\ntotal script tags: " + $('script[src*="inq.com"]').length);
}
灿任何人提供任何见解?
爱德华解决了一半的问题。他添加的test()函数解决了在运行脚本的其余部分之前确定jQuery是否已加载的问题。然而,另一个问题仍然存在:小书签在某些网站上仍然没有做任何事情,比如上面列出的链接:www.laboutique.bouyguestelecom.fr还有其他想法吗? – jake 2011-04-22 20:24:07