书签以从剪贴板内容创建URL

时间:2018-12-17 14:00:23

标签: javascript clipboard bookmarklet

我正在尝试制作一个书签,以从剪贴板中获取一个id值,并导航到使用该id构建的URL。

javascript:(function(){  
 window.location="index.php?module=Accounts&action=DetailView&record=" 
                 + clipboardData.getData('Text');
})()

(仅当在需要该URL形式的特定网站上单击时,此选项才起作用)

Bookmarklet的基础工作正常,棘手的部分是获取剪贴板值,因为clipboardData无法正常工作。

我正在使用Firefox v64(尽管我希望这在更多浏览器(至少是现代浏览器)中通用)。

现在,在搜索此问题后,我意识到我要做的事情并不像看起来那样简单-浏览器中的剪贴板API是一个棘手的问题。我发现了一些答案,最好的答案似乎是这样:

JavaScript get clipboard data on paste event (Cross browser)

我也尝试过这种方法,但也无法使它起作用:https://stackoverflow.com/a/27908501/1189711

我在这里的问题是:这些技术中的任何一项都可以应用于书签吗?如果是这样,我将对此有所帮助。我的Java语言技能太低,无法理解如何将这些答案转化为我的情况-即异步内容。

PS-如果有人想要测试的地方,只需将84f1bb99-7017-e8dc-94f9-5c179da9f102放在剪贴板中,并在凭证will / will的{​​{3}}上尝试一下。

1 个答案:

答案 0 :(得分:0)

Clipboard copy无法在脚本中使用。它必须来自用户操作。

Similary,以同样的方式,您不能从小书签中调用全屏显示。

在Firefox控制台中:

document.execCommand(‘cut’/‘copy’) was denied because it was not
called from inside a short running user-generated event handler.