0

Web サイト dev.bukkit.org を検索するための chrome 拡張機能を作成しました。次のコードでうまく機能します。

  <script>
    function onLoad() {
      document.getElementById("mytextfield").focus();
    }

    function onKeyPress(e) {
      if (e.keyCode == 13) {
        openResults();
      }
    }

    function openHomePage() {
      window.open("http://dev.bukkit.org/");
    }

    function openResults() {
      window.open("http://dev.bukkit.org/search/?search=" + encodeURIComponent(document.getElementById("mytextfield").value));
    }
  </script>
</head>
<body onload="onLoad();">
  <img src="png-3.png" onclick="openHomePage();" style="border-width: 0px; cursor: pointer" /><br>
  <div name="myFormDiv" style="center: 6px;">
  <br>
    <center><input type="search" id="mytextfield" name="mytextfield" placeholder="Search..." onkeypress="onKeyPress(event);" /></center>
  </div>

ここで、forum.bukkit.org を検索するオプションを作成したいと思います。残念ながら、フォーラムを検索するにはトークンが必要です。友人がフォーラムを検索できる PHP スニペットをくれましたが、元のコードに統合して dev.bukkit.org を検索するのに苦労しています。助けていただければ幸いです、私は道に迷っています! PHP フォーラム検索コード:

<?php

$q=$_GET['q'];
echo do_post_request("http://forums.bukkit.org/search/search",'keywords='.$q.'&_xfToken=10000%2C1333276150%2C1b8a644c97b33e9cfda0e15170ca5185cf15bc3a');

function do_post_request($url, $data, $optional_headers = null)
{
  $params = array('http' => array(
              'method' => 'POST',
              'content' => $data
            ));
  if ($optional_headers !== null) {
    $params['http']['header'] = $optional_headers;
  }
  $ctx = stream_context_create($params);
  $fp = @fopen($url, 'rb', false, $ctx);
  if (!$fp) {
    throw new Exception("Problem with $url, $php_errormsg");
  }
  $response = @stream_get_contents($fp);
  if ($response === false) {
    throw new Exception("Problem reading data from $url, $php_errormsg");
  }
  return $response;
}
?>

ありがとうございました:)

4

1 に答える 1

0

JavaScript を使用してカスタム HTTP ヘッダーを追加するに基づいて、使用する必要がありますXmlHttpRequest。私の個人的な提案は、ajax を使用して php スクリプトを呼び出し、データを取得することです。jQuery の.post()で簡単に実装できます。

于 2012-04-27T06:01:34.220 に答える