使用其他网站元素的id javascript

时间:2015-06-15 13:02:50

标签: javascript html

我试图获得亚马逊产品的标题(佳能EF-S Teleobiettivo Compatto,55-250 mm F / 4-5.6 IS STM,Nero),我如何获得该trought元素的ID?我写了,但它没有显示,如果我不放.innerHTML显示“null”

function writeText() {
  text1 = document.getElementById("http://www.amazon.it/dp/B00EP71ETU#productTitle");
  //document.write(text1.innerText)
  document.getElementById("outputDiv").innerHTML = (text1)
}

“outputDiv”只是:<div id="outputDiv"></div>在一个正文体内,点击一个按钮调用writeText()

1 个答案:

答案 0 :(得分:1)

您无法使用getElementId访问其他网页的DOM。对于这样的事情,您需要使用ajax来获取Amazon页面,然后针对您正在寻找的ID解析该结果。

如果您可以使用jQuery,通常您可以使用他们的load方法从外部网站获取页面:

$( "#outputDiv" ).load( "http://www.amazon.it/dp/B00EP71ETU #productTitle" );

然而,在这种情况下,亚马逊不允许Cross-site HTTP requests,所以如果你走这条路线,你可能不得不通过代理运行ajax调用来访问外部页面,使用像这样的东西:

$.get( "proxy.php", { url: "http://www.amazon.it/dp/B00EP71ETU" }, function(data){
    var $html        = $(data),
        productTitle = $html.find('#productTitle').text();

       $('#outputDiv').text(productTitle);
} );