Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/415.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript chrome中的控件点击会破坏我的网站框架_Javascript_Html_Iframe_Frame - Fatal编程技术网

Javascript chrome中的控件点击会破坏我的网站框架

Javascript chrome中的控件点击会破坏我的网站框架,javascript,html,iframe,frame,Javascript,Html,Iframe,Frame,我有一个网站,有两个框架。左侧是主菜单,右侧显示内容。但是,当有人在Chrome中使用控件并单击时,新选项卡将显示iframe页面(即菜单消失) 内容页是否可以检测到它显示在iframe之外,并为此问题执行重定向或其他解决方案?删除“a”标记。使用任何其他标签代替。通过javascript(如addEventListener)实现,以更改右帧的内容 或者你可以像下面这样保持所有链接 ``` ```所以你建议我通过替换所有a标签来修改一个庞大的网站(实际上是一个复杂的系统)?没有别的办法吗?我想应

我有一个网站,有两个框架。左侧是主菜单,右侧显示内容。但是,当有人在Chrome中使用控件并单击时,新选项卡将显示iframe页面(即菜单消失)

内容页是否可以检测到它显示在iframe之外,并为此问题执行重定向或其他解决方案?

删除“a”标记。使用任何其他标签代替。通过javascript(如addEventListener)实现,以更改右帧的内容

或者你可以像下面这样保持所有链接

```


```

所以你建议我通过替换所有a标签来修改一个庞大的网站(实际上是一个复杂的系统)?没有别的办法吗?我想应该有比这更简单的办法。也许可以通过jquery自动完成您的建议?实际上,手动替换网站中的所有a标签是不可行的。阿什,谢谢,这是一个很好的解决方案。但是,我并不想阻止打开新选项卡的行为,而是希望选项卡显示在iframe中,保持网站的原始外观。我可以通过修改你的代码来实现吗?@StephenH.Anderson我其实很清楚你想要什么,这个解决方案完全符合你的要求。将iframe的src更改为用户单击的href。它已经完成了。因此,我认为这只是你所说的“显示在iframe中”,我希望打开新选项卡。你的解决方案不是这样的,抱歉,明白了。用查询打开它自己。我想您的html文件名为foo.html。open('foo.html?src=xyz.com/abc/def.something')
document.addEventListener("click",function(e){
    // {Boolean} e.ctrlKey - if user press ctrlKey when clicking
    if(e.ctrlKey && e.target.tagName === "A"){
        e.preventDefault();
        // manually handle your content changing
        // below is a simple example, your should modify it under your logic
        document.querySelector("your-right-iframe").src = e.target..getAttribute("href")
    }
// the true means you are in capture mode
},true)