书签 继续进入新页面
我制作了这个小书签:
javascript:(function(){var s=document.createElement('script');s.setAttribute('src','http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js');document.getElementsByTagName('body')[0].appendChild(s);$('#hldIntMain').hide();$('#fadeBackground').hide();return false;})()
格式化代码:
// Add in jQuery
var s=document.createElement('script');
s.setAttribute('src','http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js');
document.getElementsByTagName('body')[0].appendChild(s);
// Make page viewable
$('#idIntMain').hide();
$('#idBackground').hide();
return false;
但是每当我运行它时,它都会在完成工作后加载一个空白页面。我做错了什么?
I made this bookmarklet:
javascript:(function(){var s=document.createElement('script');s.setAttribute('src','http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js');document.getElementsByTagName('body')[0].appendChild(s);$('#hldIntMain').hide();$('#fadeBackground').hide();return false;})()
Formatted code:
// Add in jQuery
var s=document.createElement('script');
s.setAttribute('src','http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js');
document.getElementsByTagName('body')[0].appendChild(s);
// Make page viewable
$('#idIntMain').hide();
$('#idBackground').hide();
return false;
But whenever I run it, it loads a blank page after doing its work. What am I doing wrong?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
对于空白页问题,您不应返回
false
,并且由于您使用的是自动调用匿名函数,因此您只需删除return代码>声明。
默认情况下,当函数主体上没有 return 语句时,函数将返回
undefined
值,这将阻止导航到空白页面。例如:
将显示一个空白页面,其中包含返回值的字符串表示形式,在本例中为“false”。
浏览器将无法导航。
之后我有几点评论:
文件将异步加载,你不能 100% 确定 jQuery 将在更改元素的 src 属性后立即加载,你可以使用
script
元素的load
事件(对于 IE 为readystatechange
)。我还建议您将
script
元素附加到head
中。For the blank page issue, you shouldn't return
false
, and since you are using an auto-invoking anonymous function, you can simply remove thereturn
statement.Functions by default, when there is no return statement is on the function body, they return the
undefined
value, and that will prevent navigating to the blank page.E.g.:
Will show a blank page containing the string representation of the returned value, "false" in this case.
The browser will not navigate.
After that I have a couple of comments:
The file will be loaded asynchronously, you can't be 100% sure that jQuery will be loaded right after changing the
src
attribute of the element, you can use theload
event of thescript
element (readystatechange
for IE).I would also recommend you to append the
script
element to thehead
.