如何将Meta Viewport标记附加到屏蔽域转发iframe?

时间:2015-01-19 22:29:01

标签: javascript html iframe mobile

关于屏蔽域转发影响Meta Viewport标记的方式,Stack Overflow也有类似的问题,但我还没有找到转发删除Viewport标记和页面响应的方式的解决方案。为了屏蔽页面,插入了iframe,其中包含引用站点的内容。问题是此iframe位于新的head标记内,该标记不再包含元视口。

我在Chrome内置的HTML检查器中的一些实验中发现,如果我添加此元标记,页面将再次正确显示。所以,在我看来,我需要做的就是在它加载时向页面添加一个Meta Viewport:

<script>
function setViewport(){
var meta = document.createElement('meta');
meta.name= "viewport";
meta.content = "width=device-width, initial-scale=1";
document.getElementsByTagName('head')[0].appendChild(meta);
}
window.onload = setViewport;
</script>

然而,这不起作用。当我在控制台中运行JS时,标签被添加进来,页面重新格式化,但如果我实际上将JS添加到我的代码中,它就不会被解雇。

我假设我没有将脚本放在正确的位置。我现在将它放在我的标题包含文件中,但这包括在页面呈现时最终在iframe内,所以我可以看到为什么它不会对页面产生影响。所以我的问题是,我的代码中是否有一个位置可以放置它,以便在转发器重新格式化页面后运行,或者是否有onload以外的函数可以实现此目的?

2 个答案:

答案 0 :(得分:1)

JS永远不会工作,因为你会阻止交叉来源请求(除非iframe内容(你的目标网站)和godaddy域都是同一个来源 - 这几乎不是所有情况。因此,没有办法我可以看到通过内容网站的js添加元标记。

答案 1 :(得分:0)

如果您使用的是jQuery,请尝试使用:

$( document ).ready(function() {
    setViewport();
});