2012-01-29 78 views
0

在我的页面上,我有一个代码,我想从外部页面的div中加载文本。我想要做的是将我在单独页面上的文章标题加载到代码中,我已经知道如何将它们加载到我的代码中,但我需要知道如何从外部div中提取文本(并在另一个div中加载它)。如何使用javascript从外部页面上的Div中提取文本?

我的外部网页

<div id="boundry2"> <h5> <div class="title"> Title: </div> <div class="date"> Date </div> </h5> Article text <br/> </div>

我的股票

<a href="#"> <div id="myhtmlticker" class="tickerstyle"> <div class="messagediv"> Text from title </div> <div class="messagediv">Text from title </div> </div> </a>

我的股票通过使每格与messagediv出现的类ID引用外部JavaScript代码。我想将外部页面上<div class="title">Title:</div>的文本加载到<div class="messagediv">Text from title</div>。请记住,会有多篇文章,我希望每个标题都能显示。 所有帮助表示赞赏,谢谢。

+2

如果你会很高兴把你的源代码放起来,为什么你还没有? ;)源代码是本网站的工作内容。 (尽管请提供一个*最小*样本。) – Tomalak 2012-01-29 08:43:32

+0

这个“外部页面”与JavaScript代码的原始页面在同一个域中吗? – Cheery 2012-01-29 08:43:46

+0

我修改了它,尽可能多地凝结了我的代码,是的,它们位于同一个域中。 – 2012-01-29 09:03:02

回答

1

试试这个解决方案。在股票代码中使用ajax请求来获取外部页面作为响应文本,然后解析响应以查找标题,然后可以将其加载到您的股票代码中。

希望这可以帮助你。

0
function getFile(fileName, method, callback) { 
    // you can also add xdomain request 
    var request = new XMLHttpRequest(); 
    request.open(method, fileName, true); 
    request.onreadystatechange = function() { 
     if (request.readyState === 4) { 
      if (request.status === 200) { 
       callback(request.responseText); 
      } 
     } 
    } 
    request.send(); 
} 

function setTitle(response) { 
    var result = response.match(/(<div class="title">(.*?)<\/div>)+/ig); 
    var target = document.getElementsByClassName('messagediv'); 
    for (var i = 0; i < target.length; i++) { 
     target[i].innerHTML = result[0]; 
    } 
} 

getFile('testpage.html', 'get', setTitle); 
相关问题