【问题标题】:Chrome Bookmarklet which open in new tab with specific actionChrome 书签,在新标签页中打开并执行特定操作
【发布时间】:2018-03-15 21:55:38
【问题描述】:

我想制作一个 Chrome 书签,它会打开一个带有特定操作的新标签。

更准确地说,我希望在书签中有一个固定的 URL,例如 "https://www.blablabla.com/search=",当我按下它时,我希望出现一个带有输入字段的弹出窗口。

当我在输入字段中输入内容并按回车键或确定/提交时,它应该“运行”整个链接以及我的查询。

例如,我按下小书签,输入字段出现并输入单词“test”(不带引号)。

当我按下提交查询时,将打开一个新选项卡,其中包含https://www.blablabla.com/search=test 地址作为 URL。

我该怎么做?

我尝试了提示功能,但我无法让它工作......

我的问题有点类似于How do I get JavaScript code in a bookmarklet to execute after I open a new webpage in a new tab?

【问题讨论】:

    标签: prompt bookmarklet


    【解决方案1】:

    虽然尚不清楚您遇到的确切问题,但请尝试以下书签:

    javascript:(function() {
        var targetUrl = "http://www.blablabla.com/search=";
        new Promise (
            (setQuery) => {var input = window.prompt("ENTER YOUR QUERY:"); if (input) setQuery(input);}
        )
        .then (
            (query) => window.open(targetUrl + query)
        );
    })();
    

    如果不起作用,您应该提供更详细的问题描述。

    【讨论】:

    • 它就像一个魅力......!!!我对 javascript 不太熟悉,所以我尝试使用的代码有一些错误...您的代码有效!非常感谢!!!
    • 很高兴知道这没关系。但是下次不要忘记发布您遇到问题的代码。
    • window.open 是此处在新标签中打开的关键部分
    • 这里的承诺是不必要的。您可以将所有代码从 Promise 中提取出来,它仍然可以正常工作。
    【解决方案2】:

    @Shugar 的回答大部分是正确的,但您不需要承诺。

    javascript:(function() {
      var targetUrl = "http://www.blablabla.com/search=";
    
      var input = window.prompt("ENTER YOUR QUERY:");
    
      if (input)
        window.open(targetUrl + input)
    })();
    

    【讨论】:

      猜你喜欢
      • 2021-03-11
      • 2019-09-04
      • 1970-01-01
      • 1970-01-01
      • 2012-03-23
      • 1970-01-01
      • 1970-01-01
      • 2017-11-14
      • 1970-01-01
      相关资源
      最近更新 更多