把一个页面用 iframe 给另外一个页面通过 js 跨域调用,怎么显示不出来?

2017-04-26 15:53:41 +08:00
 liteyou

page_a.js :

<div id="id_1">
    <script type="text/javascript">
            document.write('<Iframe src="page_a_url" width="600" height="400" scrolling="Yes" frameborder="0" name="page_a"></iframe>')
    </script>
</div>

其他页面跨域调用 page_a.js :

<div id="id_2">
    <script src=".../page_a.js"></script>
</div>

显示不出来iframe里的内容,是哪里有问题?

1574 次点击
所在节点    问与答
15 条回复
msg7086
2017-04-26 16:08:39 +08:00
你有打开浏览器的控制台检查过错误信息么?
liteyou
2017-04-26 16:27:53 +08:00
@msg7086 看了,没提示错误,就是引用的 iframe 区域空白一片。看起来,是 page_a 根本没有引用进来
POPOEVER
2017-04-26 16:40:23 +08:00
Iframe 大写 I ?
lianyue
2017-04-26 16:42:15 +08:00
page_a.js :

你直接在 js 里面写 html ?
msg7086
2017-04-26 16:45:51 +08:00
@lianyue 才反应过来……突然笑死
POPOEVER
2017-04-26 16:46:30 +08:00
document.write 写出来的是字符串,不是 dom 元素,你得写 innerHTML 进去
geelaw
2017-04-26 16:53:58 +08:00
@POPOEVER HTML 标签名是大小写不敏感的,并且 canonical 的 tagName 是 IFRAME
geelaw
2017-04-26 16:54:35 +08:00
@POPOEVER document.write 可以写 HTML
liteyou
2017-04-26 16:57:20 +08:00
@POPOEVER Iframe 的 I 大写是个笔误了=_=!! 改了小写也没效果。还是现实空白:

element.style {
}
user agent stylesheet
script {
display: none;
}
geelaw
2017-04-26 16:59:07 +08:00
另外 script 元素应该设定 type=application/javascript 或者 text/javascript 。

而且楼主还是没有发现自己的 JavaScript 代码文件根本不是 JavaScript 代码么?
liteyou
2017-04-26 17:02:32 +08:00
@lianyue
@msg7086

直接引用这段框架 <Iframe src="page_a_url" width="600" height="400" scrolling="Yes" frameborder="0" name="page_a"></iframe>,可以显示。用 document.write()之后,还要转换成(obj).html()吗?
nfroot
2017-04-26 17:30:03 +08:00
@geelaw 指导了一堆 你却把 js 文件里的其他内容忽略了?
geelaw
2017-04-26 17:33:45 +08:00
@nfroot 实际上我连这个哪里跨域都没看见
POPOEVER
2017-04-26 22:14:10 +08:00
@geelaw 嗯,你是对的,是我想当然了
@liteyou 上面几位讲的问题修了么?你的 page_a.js 里有 html 代码,应该只有一句话
document.write('<Iframe src="page_a_url" width="600" height="400" scrolling="Yes" frameborder="0" name="page_a"></iframe>');
liteyou
2017-04-26 23:21:52 +08:00
@POPOEVER 下午修过了,还是谢谢你😊

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/357490

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX