Eri*_*ics 2 javascript bookmarklet
我有一个简单的书签,用于在提示()中显示元元素的值。它可以工作,但运行窗口后,要么只加载字符串“null”,要么加载提示值。
如何防止小书签导致页面加载?
我只想让脚本弹出提示,但不执行任何其他操作。
我的书市是这样的:
javascript:var%20description;var%20metas=document.getElementsByTagName('meta');for(var%20x=0,y=metas.length;x<y;x++){if(metas[x].name.toLowerCase()=="description"){description=metas[x];}}prompt("Meta%20Description",description.content);
Run Code Online (Sandbox Code Playgroud)
..展开后看起来像这样:
var description;
var metas=document.getElementsByTagName('meta');
for(var x=0,y=metas.length;x<y;x++){
if(metas[x].name.toLowerCase()=="description"){
description=metas[x];
}
}
prompt("Meta Description",description.content);
Run Code Online (Sandbox Code Playgroud)
如今公认的方法是将代码包装在“立即调用的函数表达式”中,如下所示
(function(){ /*your code */})();
Run Code Online (Sandbox Code Playgroud)
这比void(0);在末尾添加要好,因为将代码包装在函数中可以防止书签中以及父 HTML 文档范围内的命名变量和函数之间发生冲突。
换句话说,如果您像现在在使用 JavaScript 代码和已有变量“描述”的网页上一样运行小书签,则可能会产生问题。
| 归档时间: |
|
| 查看次数: |
515 次 |
| 最近记录: |