0

我需要直接从我的页面执行小书签的操作。

我需要在给定该 url 的情况下提取网页的 document.title 属性。

因此,假设用户输入 www.google.com,我希望能够以某种方式在 iframe 中提取 google.com,而不是访问 document.title 属性。

我知道书签(从书签栏运行的 javacript)可以访问用户所在的任何站点的 document.title 属性,然后将该信息 ajax 到服务器。

这基本上是我想要做的,但直接从我的网页而不使用书签。

4

3 回答 3

2

根据这个问题 你可以使用 PHP 来实现这个,试试这个代码:

    <?php

function getTitle($Url){
    $str = file_get_contents($Url);
    if(strlen($str)>0){
        preg_match("/\<title\>(.*)\<\/title\>/",$str,$title);
        return $title[1];
    }
}
//Example:
echo getTitle("http://www.washingtontimes.com/");

?>

但是,我认为可以使用 JS 读取文件内容并执行相同的搜索标签逻辑。

尝试在这里搜索

于 2012-05-16T19:23:51.667 回答
1

不幸的是,这并不容易。出于安全原因,不允许 JavaScript 访问不在同一域中的框架或窗口的文档对象。这类事情必须通过对后端 PHP 脚本的请求来完成,该脚本可以获取请求的页面、通过 DOM 并检索<title>标签中的文本。如果您没有这种能力,那么您所要求的将更加困难。

这是基本的 PHP 脚本,它将获取页面并使用 PHP 的 DOM 扩展来解析页面的标题:

<?php
$html = file_get_contents($_GET["url"]);

$dom = new DOMDocument;
$dom->loadXML($html);
$titles = $dom->getElementsByTagName('title');

foreach ($titles as $title) {
    echo $title->nodeValue;
}
?>

演示: http ://www.dstrout.net/pub/title.htm

于 2012-05-16T19:23:01.293 回答
0

您可以编写一个服务器端脚本,为您检索页面(即使用 curl)并解析 dom 并将所需的属性作为 json 返回。然后用ajax调用它。

于 2012-05-16T19:24:42.293 回答