问题描述
如果在html中单击了test.jpg(鼠标左键),
对于代码1 :在新标签页中将打开一个空白页面。 (不好的结果)
代码2 :在新标签中打开test.jpg页面。 (好)
代码1 :使用了opek.window(等于打开到open.window)
<script>
window.opek = function(x,y,z){window.open(x,z)}
function onlyyou(url){
var NowWindow=window.opek('','_blank','')
NowWindow.document.write('<img src='+url+'>')
}
</script>
<img src="test.jpg" onclick="onlyyou(this.src)">
代码2 :使用open.window
<script>
window.opek = function(x,z)}
function onlyyou(url){
var NowWindow=window.open('','')
NowWindow.document.write('<img src='+url+'>')
}
</script>
<img src="test.jpg" onclick="onlyyou(this.src)">
对我来说, window.opek 等于 window.open 。
但是为什么代码1 的行为方式不同?
实际上,我创建了一个包含window.open的函数。创建的函数无法正常工作。因此,我进行了深入研究,甚至找出了一个功能(至少对我而言)看起来完全相同(至少对我而言)的功能无法以相同的方式工作。
解决方法
这是因为在您的代码1 中,您没有返回window
对象返回。将您的功能更新为返回新窗口,它将起作用:
<script>
window.opek = function(x,y,z){ return window.open(x,z); }
function onlyyou(url){
var NowWindow=window.opek('','_blank','')
NowWindow.document.write('<img src='+url+'>')
}
</script>