3

我想检索网页中的文本作为字符串。这可能吗?我是 Javascript 新手。

例如:

var url = "http://en.wikipedia.org/wiki/Programming";
var result = url.getText();  <---- stores text as a string
document.write(result);

如何编写 getText 方法?以太整个 HTML 源代码(我可以用它来获取文本)或只是文本。我想在网络浏览器中执行此操作。

我试过这个,我能够得到一个索引号:

var url = "http://www.youtube.com/results?search_query=cat&page=2";
var result;
function go(){
    result = url.search(/cat/i);
    document.write(result);
}

这给了我一个 44 的索引。这意味着阅读一个页面是可能的。我可以做相反的事情并输入索引来检索文本吗?

4

3 回答 3

2

如果 Ajax/跨域情况对您来说不是问题,您可以使用

var el = document.body; // or some other element reference
var text = el.innerText || el.textContent;

如果您需要从与您的应用程序同域的页面中读取文本,您可以直接使用 Ajax。

如果您需要从域外页面读取文本,则必须跳过一些额外的环节,例如设置代理服务器或处理 CORS - http://en.wikipedia.org/wiki/Cross-origin_resource_sharing

于 2012-11-03T03:06:35.677 回答
2

Ajax 不支持跨域。您需要服务器端语言。

于 2012-11-03T02:10:58.107 回答
1

你最好使用更强大的服务器端语言来做到这一点,而不是 JavaScript。Python 或 PHP 将是不错的选择。

于 2012-11-03T02:08:03.930 回答