我试图在帖子中寻找答案,但仍然没有明确的答案。 这是我的情景: 在其中一个页面上,我有一个从另一个域获取内容的IFRAME。框架看起来很奇怪,风格与主要网站完全不同。最重要的是,通过提交表单,它定位到新页面,我希望用户保持在同一页面上。 所以我想也许我可以改变一些东西 - 样式和IFRAME中表单的目标。据我所知,使用JavaScript是不可能的,因为它来自另一个域。我正在考虑服务器端脚本(例如PHP),它首先将IFRAME内容加载到字符串中,然后替换样式href,将“target = _blank”更改为其他内容,最后将内容传回页面。
这就是我的想法。 最初它看起来像这样:
<!-- iframe src="http://www.otherdomain.com/cgi-bin/querypackage.cgi?code=ent1"></iframe-->
我用它替换它:
<iframe src=”frameprocessor.php"></iframe>
所有的魔法都发生在frameprocessor.php。
有可能吗?也许我的事情过于复杂,答案更简单......
谢谢!
答案 0 :(得分:1)
您无法修改iFrame中的内容。特别是它的内容和形式。你可以改变外观(即高度/宽度/边框等)但是由于XSS问题(https://www.owasp.org/index.php/Cross_Frame_Scripting) - 你将无法修改iFrame中的内容。
但我的建议是,可能是域名的API请求?或者可能构建一个cURL解决方案,通过外部表单(webhooks)将数据发布到网站上。
答案 1 :(得分:0)
这里只是在黑暗中拍摄,但尝试使用iFrame对象的contentDocument?
http://www.w3schools.com/jsref/prop_frame_contentdocument.asp
编辑:既然你已经添加了使用php的想法,你可以通过php使用获取内容来获取页面并改变你想要改变的东西并输出delta。我有点好奇,如果contentDocument的东西可以工作,我从未亲自尝试过(我回避iFrames!)