我正在尝试创建一个字段,该字段将从位于另一个域的另一个页面上的另一个字段中提取值。
有两个字段:#div-one(第一页)和#div-two(第二页)
有两个页面:第一页(在域名“One.com”上)和第二页(在域名“Two.com”上)
当用户打开第一页时,我希望#div-one拉出位于Two.com上的第二页上的#div-two内的值。
我找到了这段代码:
<script type="text/javascript">
function pullValueFromPageTwo(){
var val = $('[#div-two]').text();
$('#div-one').val(val);
}
</script>
但我没有找到任何关于如何使用该代码从jquery从另一个页面和域中提取值的线索。
答案 0 :(得分:1)
JSONP是另一种规避相同原始策略的方法。 jQuery 1.5改进了对它的支持。
http://api.jquery.com/jQuery.getJSON/
http://en.wikipedia.org/wiki/JSON#JSONP
答案 1 :(得分:0)
One.com
上的jQuery无法访问Two.com
。
但是,如果他们在同一个域上,那么这样的话应该有用......
var otherPage = $('body').load('/echo/html/', function(html) {
var text = otherPage.find('#div-two').text();
$('#div-one').html(text);
}),
答案 2 :(得分:0)
或者您可以使用其他东西(例如YQL {http://developer.yahoo.com/yql/})从Two.com获取数据,然后使用javascript处理结果(因为它返回XML,这是非常可能)..
您可以在地址栏中查看以下结果的示例查询:
http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20html%20where%20xpath=%22/html/body/div[3]/div/div/div[2]/div/div[2]/div[2]/div[2]/div/div[3]/ul/li/h2%22%20and%20url=%22http://www.bbc.co.uk/news/%22;&format=xml&env=http://datatables.org/alltables.env
然后,你可以通过One.com的One.com获取One.com的价值,并用它做你想做的事。