0

ブックマークレットが行うことを行う必要がありますが、自分のページから直接行う必要があります。

その URL を指定して、Web ページの document.title プロパティをプルする必要があります。

したがって、ユーザーが www.google.com に入力すると、iframe でおそらく google.com をプルアップし、document.title プロパティにアクセスできるようにしたいと考えています。

ブックマークレット (ブックマーク バーから実行される javacript) は、ユーザーがいるサイトの document.title プロパティにアクセスし、その情報をサーバーに ajax できることを知っています。

これは基本的に私がやりたいことですが、ブックマークレットを使用せずに Web ページから直接実行します。

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 は同じドメインにないフレームまたはウィンドウのドキュメント オブジェクトにアクセスできません。この種のことは、要求されたページをフェッチし、DOM を通過し、<title>タグ内のテキストを取得できるバックエンド PHP スクリプトへの要求で実行する必要があります。その能力がなければ、求めていることははるかに難しくなります。

以下は、ページを取得し、PHP の DOM 拡張機能を使用してページのタイトルを解析する基本的な PHP スクリプトです。

<?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 に答える