1

我有一个简单的 chrome 扩展,将 iframe 注入到活动页面(不是重要部分)
我想要embed一个位于http://diep.io的游戏,但是这个站点frame-busting实现了一些技术。我仍然希望能够将它加载到一个中,以使用(open to other tags such as or (然而你可以让那个标签工作))iframe来制作这个迷你窗口。Iframe embedwebview

那么我怎么能anti-frame busting在这里得到一个类型的东西呢?
显然,cross-origin这样编辑DOM内部并不是最简单的/不应该可能的。我已经尝试过该sandbox属性,但这只会导致 iframe 内的上一页出现问题(链接中心类型页面),并且无法使用。

所以这里的主要问题是cross-origin embedded page anti frame busting 没有sandbox属性怎么办?

4

1 回答 1

0

我找到了解决方案。我的 iframe 使用按钮导航(HTML ID 为“deHBox”)并且我的 iframe 与标有“Ifr”的变量链接。

    document.getElementById("deHBox").addEventListener("click", function(){
    sandbox(false);
    Ifr.src = url;
    Ifr.style.height = 'calc(100% - 23px)';
    Ifr.style.width = '100%';
    setTimeout(function() {sandbox(true)}, 500);
});


    setTimeout(function() {sandbox(true)}, 500);


function sandbox(on) {
    if (on == true) {
        Ifr.sandbox = "allow-scripts allow-forms allow-pointer-lock allow-popups allow-same-origin";
    } else {
        Ifr.removeAttribute('sandbox');
    }
}

我刚刚把它添加到我的injected.js文件中......

于 2018-10-26T00:19:18.207 回答