获取iframe中输入字段的值

获取iframe中输入字段的值,第1张

获取iframe中输入字段的值

是的,即使该站点来自另一个域,也应该可行。

例如,在我网站的HTML页面中,我有一个iframe,其内容来自另一个网站。iframe内容是单个选择字段。

我需要能够在我的网站上读取所选的值。换句话说,我需要使用我自己的应用程序中另一个域的选择列表。我无法控制任何服务器设置。

因此,起初我们可能会想做这样的事情(简化):

我网站上的HTML:

<iframe name='select_frame' src='http://www.othersite.com/select.php?initial_name=jim'></iframe><input type='button' name='save' value='SAVE'>

iframe的HTML内容(从

select.php
另一个域加载):

<select id='select_name'>    <option value='john'>John</option>    <option value='jim' selected>Jim</option></select>

jQuery:

$('input:button[name=save]').click(function() {    var name = $('iframe[name=select_frame]').contents().find('#select_name').val();});

但是,当我尝试读取该值时,我收到此javascript错误:

封闭原点“的帧访问的帧与原籍。协议,域和端口必须匹配。

为了解决这个问题,您似乎可以 从自己站点中的脚本
间接获取iframe的资源,并使用类似

file_get_contents()
curl
等方法使该脚本从其他站点读取内容。

因此,

select_local.php
在您自己的站点上创建一个脚本(例如:在当前目录中),其内容类似于以下内容:

select_local.php的PHP内容:

<?php    $url = "http://www.othersite.com/select.php?" . $_SERVER['QUERY_STRING'];    $html_select = file_get_contents($url);    echo $html_select;?>

还修改HTML以调用此本地(而不是远程)脚本:

<iframe name='select_frame' src='http://www.kaotop.com/skin/sinaskin/image/nopic.gif'></iframe><input type='button' name='save' value='SAVE'>

现在,您的浏览器应该认为它正在从同一域加载iframe内容。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5084248.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-16
下一篇 2022-11-16

发表评论

登录后才能评论

评论列表(0条)

保存