尝试javascript:网址

尝试javascript:网址

如果搜索词必须是 POST 变量,如何在 Google Chrome 中创建新的搜索引擎?

我尝试将 POST 数据转换为带有 %s 占位符的 GET 查询字符串,但没有成功。

答案1

尝试javascript:网址

我设法通过这个(确实相当讨厌的)解决方法得到了我想要的东西:一个javascript:创建并立即提交表单的 URL。这意味着,当您定义搜索引擎时,而不是像这样的 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>');

这里再次出现了同样的事情,但将单行手动重新格式化为多行,以使其更易于阅读和理解:

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>
    '
);

PS 不幸的是,这种方法在从空白的“新标签”页面执行搜索时不起作用。可以通过安装“Ultimate New tab”扩展来解决这个问题。

答案2

document.write()如果您愿意,我已经将@etuardu 的解决方案转换为这个,而不是使用:

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();

答案3

首先,您需要使用此 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>

然后输入搜索网址:

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=%

相关内容