打开新窗口调用函数的不好的两种方式
function popUp(winURL){
window.open(winURL,"popup","width=300,height=400");
}
- 伪协议:javascript 伪协议让我们通过链接来调用JavaScript函数. 这种方式在禁用了JS的浏览器什么都不做,是不好的写法。
<a href= "javascript: popUp('http://www.test.com');"> Example</a>
- 内嵌事件处理函数: # 是未指向任何目标的内部链接,由于HTML指令中使用了return false,所以这个链接不会被打开,禁用JS的话同样无效。
<a href= "#" onClick="popUp('http://www.test.com'); return false;">Example</a>
怎么办呢?设置href属性为合法URL,则即使禁用JS,链接也会在原窗口(不是新窗口)打开
<a href= "http://www.test.com" onClick="popUp(this.getAtrribute('href')); return false;">Example</a>
<a href= "http://www.test.com" onClick="popUp(this.href)); return false;">Example</a>