这个想法是写一个简单的书签。 如果问题是可能的重复,请指点我,因为我没有成功找到。
我尝试使用bookmarklet启用当前页面jquery并使用某些jquery apis。
未捕获的SyntaxError:意外的标记ILLEGAL
上面是我使用下面的示例书签
得到的错误javascript:(function(){
var d=document.createElement('script');
d.setAttribute('src', 'http://code.jquery.com/jquery-latest.js');
document.head.appendChild(d);
$('a').each(function(){
alert( $(this).attr('src') );
});
})()
如果我在控制台中逐行执行相同的代码,那就可以了。
提前致谢
答案 0 :(得分:1)
要使页面等到jQuery完全加载,请向script
元素添加一个加载处理程序。这在我的浏览器中有效:
javascript:(function(){
var d=document.createElement('script');
d.src = 'http://code.jquery.com/jquery-latest.js';
d.onload = function(){ /* load handler here */
$('a').each(function(){
console.log( $(this).attr('href') );
});
};
document.getElementsByTagName('head')[0].appendChild(d);
})()
我稍微更改了您的代码(直接将src
属性作为属性添加到创建的script
元素中,以更经典的方式检索head
元素,使用{{1而不是console.log
并记录所有链接的alert
属性。)