web-dev-qa-db-ja.com

Google Chrome:投稿変数に検索語を含む検索エンジン

検索語をChrome変数にする必要がある場合、Google POSTで新しい検索エンジンを作成するにはどうすればよいですか?

POSTデータを%sプレースホルダーを使用してGETクエリ文字列に変換しようとしましたが、これは機能しませんでした。

7
etuardu

私はこの(確かにかなり厄介な)回避策で欲しいものを手に入れることができました:フォームを作成してすぐに送信するjavascriptURL。これは、検索エンジンを定義するときに、次のようなURLを挿入することを意味します。

_http://www.example.com/search?term=%s
_

このURL /コードを使用します:

_javascript:document.write('<form name="f" action="http://www.example.com/search" method="POST"><input type="hidden" name="term" value="%s"></form><script>f.submit();</script>');
_

かなり長い文字列になる可能性が高いため、テキストエディタで準備してから、URLフィールドにコピーして貼り付けることをお勧めします。

これは、イタリア語-英語辞書の検索URLです:javascript:document.write('<form name="f" action="http://dizionari.repubblica.it/cgi-bin/inglese/find" method="POST"><input type="hidden" name="lemma" value="%s"><input type="hidden" name="sez" value="ita"></form><script>f.submit();</script>');

P.S.残念ながら、この方法は、空の「新しいタブ」ページから検索を実行する場合は機能しません。これは、「UltimateNewtab」拡張機能をインストールすることで修正できます。

12
etuardu

まず、次のPHPコードでページをホストする必要があります:

<!DOCTYPE html>
<html>
<head>
</head>
<body>
    <form name="f" action=""<?php echo htmlspecialchars($_GET['action']); ?>" method="POST">
        <input type="hidden" name="<?php echo htmlspecialchars($_GET['inputname']); ?>" value=""<?php echo htmlspecialchars($_GET['inputvalue']); ?>">
    </form>
    <script>f.submit();</script>
</body>
</html>

次に、検索URLを入力します。

http://yourwebsite.com/filename.php?action=http://sitetosearch.com/search.php&inputname=query&inputvalue=%s

(URL、ファイル名、入力名をデータに置き換えます)

例(検索 http://fansubs.ru/search.php ホスト経由 http://webercom.ru/ ):

http://webercom.ru/post.php?action=http://fansubs.ru/search.php&inputname=query&inputvalue=%
1
Dador

@etuarduのソリューションを、document.write()を使用せずに、これに変換しました。

javascript:f=document.createElement('form');f.method='post';f.action='http://www.example.com/search';i=document.createElement('input');i.name='term';i.value='%s';f.appendChild(i);document.body.appendChild(f);f.submit();

0
bers