在尝试了解Web服务器的工作原理时,我遇到了这样的问题:
//myfile.js
function donothing(){};
//myfile.html
javascript:donothing(open('http://www.acme.com/whatever.jpg','','left=100, right=0, top=100, scrollbars=no, status=no, titlebar=no, resizable=no, toolbar=no, menubar=no, width=255, height=255'))
Run Code Online (Sandbox Code Playgroud)
我不是JavaScript专家,所以我不知道如何使空函数工作.有人知道吗?
谢谢.
Sea*_*sey 19
这是一个自制的void替代品,以避免表达式返回值.
window.open 将返回对打开的窗口的引用,这可能会产生意外结果.
例如,尝试粘贴javascript:a=1到地址字段 - 这将导致其中的数字为1的空白屏幕,因为浏览器默认尝试使用任何表达式的结果作为新文档运行.
为避免这种情况,使用javascript:void(a=1)as作为void将不返回任何内容,因此结果不会用作新文档.
不需要使用donothing(foo=bar)或等效Function.prototype(foo=bar),因为内置功能void完全相同.
但是请注意,只有在将文本复制到地址字段时才需要使用void ,当你javscript:在链接中使用伪协议时,它是不必要的(你不应该这样做).
| 归档时间: |
|
| 查看次数: |
1914 次 |
| 最近记录: |