Php 强制目标="_“自我”;iframe中的动态外交叉域

Php 强制目标="_“自我”;iframe中的动态外交叉域,php,iframe,Php,Iframe,我在chrome上有一个使用iframe的kiosk模式的站点,我在其中打开了许多外部站点。每个网站都有自己的target=“\u blank”链接。我无法控制这些外部链接。 我只想打开iframe中的所有外部链接,否则我需要为那些target=\u空白链接发布一些消息。我无法打开信息亭的新窗口。到目前为止,我已经搜索过了,发现它一定是一些服务器端编码。Javascript在这方面没有任何帮助 我的iframe代码: navigateToExternal:function(href)

我在chrome上有一个使用iframe的kiosk模式的站点,我在其中打开了许多外部站点。每个网站都有自己的target=“\u blank”链接。我无法控制这些外部链接。 我只想打开iframe中的所有外部链接,否则我需要为那些target=\u空白链接发布一些消息。我无法打开信息亭的新窗口。到目前为止,我已经搜索过了,发现它一定是一些服务器端编码。Javascript在这方面没有任何帮助

我的iframe代码:

  navigateToExternal:function(href)
    {
        Engine.ui.openMenu();
        Engine.ui.exit();
        Engine.ui.mostRecentSection = "external";

        $("a[data-navsection], a[href]").removeClass("disabled");
        $("a[href='" + href + "']").addClass("disabled");

        $(".footer").hide();

       var sandbox = "sandbox=\"allow-forms allow-scripts allow-same-origin\"";


         $("#content-container").append("<iframe id=\"contentFrame\" src=" + href + "\"" + sandbox + "></iframe>");
    },
navigateToExternal:函数(href)
{
Engine.ui.openMenu();
Engine.ui.exit();
Engine.ui.mostRecentSection=“外部”;
$(“a[data navsection],a[href]”).removeClass(“已禁用”);
$(“a[href=”“+href+”]”)addClass(“已禁用”);
$(“.footer”).hide();
var sandbox=“sandbox=\”允许表单允许脚本允许相同来源\”;

$(“#内容容器”).append(您不能,父页面不能访问跨站点iframe,iframe不能访问跨站点父页面


这属于同源策略,无法在客户端处理。您可以在服务器上删除这些站点并将它们显示为您自己的站点,但我不确定这会有多有效。

如果您在Chrome上运行,您可以尝试html5 iframe
沙盒
属性

<iframe sandbox="allow-scripts allow-forms" src="..."></iframe>


我得到了一个解决方案,并想与大家分享。我们可以为Mac传递一个命令行参数,打开终端并运行:

 $ open -a Google\ Chrome --args --disable-web-security 

它将禁用同源策略,然后我们可以在跨站点iframe上进行所需的更改。

感谢您的回复!!有没有办法在单击where target=“\u blank”时显示一些消息"但是对于那些外部链接?不,因为你不能捕捉到那个点击事件,它会停在那个iframe的文档上。非常感谢你的所有回复。我得到了一个关于这个的解决方案,并想与大家分享。我们可以为Mac传递一个命令行参数,打开终端并运行:
$open-a Google\Chrome--args--disable web security
ad它将禁用同源策略,然后我们可以在跨站点iframe上进行所需的更改。