Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/239.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在服务器端更改IFRAME内容?_Javascript_Php_Html_Iframe - Fatal编程技术网

Javascript 如何在服务器端更改IFRAME内容?

Javascript 如何在服务器端更改IFRAME内容?,javascript,php,html,iframe,Javascript,Php,Html,Iframe,我试着在帖子中寻找答案,但仍然没有一个明确的答案。 这是我的设想: 在其中一个页面上,我有一个IFRAME,它正在从另一个域获取内容。框架看起来很奇怪,风格与主站完全不同。最重要的是,通过提交表单,它的目标是新页面,我希望用户保持在同一页面上。 所以我想也许我可以改变一些事情-在IFRAME中的样式和表单的目标。据我所知,使用JavaScript是不可能的,因为它来自另一个域。我在考虑服务器端脚本(例如PHP),它首先将IFRAME内容加载到字符串中,然后替换style href,将“targe

我试着在帖子中寻找答案,但仍然没有一个明确的答案。 这是我的设想: 在其中一个页面上,我有一个IFRAME,它正在从另一个域获取内容。框架看起来很奇怪,风格与主站完全不同。最重要的是,通过提交表单,它的目标是新页面,我希望用户保持在同一页面上。 所以我想也许我可以改变一些事情-在IFRAME中的样式和表单的目标。据我所知,使用JavaScript是不可能的,因为它来自另一个域。我在考虑服务器端脚本(例如PHP),它首先将IFRAME内容加载到字符串中,然后替换style href,将“target=\u blank”更改为其他内容,最后将内容传递回页面

这就是我的想法。 原来是这样的:

<!-- iframe src="http://www.otherdomain.com/cgi-bin/querypackage.cgi?code=ent1"></iframe-->

我将其替换为:

<iframe src=”frameprocessor.php"></iframe>

这里只是在黑暗中拍摄,但是否尝试使用iFrame对象的contentDocument

编辑:因为您已经添加了使用php的想法,所以您可以使用通过php获取内容来获取页面,并更改您想要更改的内容并输出增量


不过,我有点好奇contentDocument的功能是否有效,我个人从未尝试过(我避开iFrame!)

你不能在iFrame中修改内容。特别是它的内容和形式。您可以更改外部外观(即高度/宽度/边框等),但由于XSS问题()-您将无法修改iFrame中的内容


然而,我的建议是,可能是对域的API请求?或者构建一个cURL解决方案,通过外部表单(webhooks)将数据发布到网站。

w3schools永远不应该链接到,单独的链接并不能回答问题。我同意,但w3schools是一个适合完整乞丐的页面。关于用php解析/替换它的评论是一个很好的答案。即使你得到了你想要的东西,你仍然不能执行javascript从另一个域获取私有数据,所以没有:)也就是说,如果你拥有另一个脚本,并且希望在另一个主机上生成内容,为什么不让php传递生成它所需的所有数据,然后
包括它。最好使用一个api,它只返回你需要的数据,并在正确的网站上设置主题。谢谢你的回复!我没有剧本。为IFRAME提供内容的公司没有提供任何定制选项。任何可以做的事情都必须在我这一方完成。你可以使用fopen从php获取页面或获取文件内容(“http://Whatever”);和strreplace来设计它。但是,如果你需要一个用户登录到这个外部页面,你就无能为力了。如果你试图向第三方页面发送请求/阅读你不拥有的个人数据,那么就放弃。