今年早些时候遇到过一个诡异的问题。
需求是在一个弹出窗口中打开/download.php?id=123456这样的URI,并由download.php输出要下载的资源。问题是如果使用Javascript监听OnClick事件,然后调用window.open()方法弹窗,则会报如下错误:
而如果使用target="_blank"形式的超链接弹窗,则一切正常。
示例代码如下:
HTML:
PHP:
-
<?
-
if (1 == $_GET['id']) {
-
}else {
-
}
-
?>
第一个HTML文件提供两个超链接,test1和test2。前者使用JavaScript监听OnClick事件弹窗,后者使用target="_blank"弹窗。两者都调用同样的download.php进行下载,但点击test1就会报错,而test2正常。
我对这个问题感到疑惑。