这个书签可以转换为Greasemonkey用户脚本吗?
Can this bookmarklet be converted to Greasemonkey userscript?
我不太确定如何将这段代码从bookmarklet转换为userscript,因为它使用url编码的字符:
javascript:var%20multiURL="";%20$('div.titlebox').find('ul.subreddits').find('a').each(function()%20{%20multiURL%20+=%20$(this).text().substr(3)%20+%20"+";%20});%20multiURL%20=%20multiURL.substr(0,multiURL.length-1);%20window.open('http://www.reddit.com/r/'+multiURL);void(0);
想法?
首先,您必须将url编码的字符转换为常规字符,Jared Farrish已经使用了一些PHP魔法完成了这项工作。如果你将来需要这样做,你可以尝试这个在线URL编码器/解码器。
就是这个JavaScript blob:
javascript:var multiURL=""; $('div.titlebox').find('ul.subreddits').find('a').each(function() { multiURL += $(this).text().substr(3) + "+"; }); multiURL = multiURL.substr(0,multiURL.length-1); window.open('http://www.reddit.com/r/'+multiURL);void(0);
格式化并转换为合适的JS:
var multiURL = "";
$('div.titlebox').find('ul.subreddits').find('a').each(function () {
multiURL += $(this).text().substr(3) + "+";
});
multiURL = multiURL.substr(0, multiURL.length - 1);
window.open('http://www.reddit.com/r/' + multiURL);
然后,剩下要做的就是使用userscript符号和将其保存在以.user.js
(重要)结尾的文件中。
// ==UserScript==
// @name Author's Name
// @namespace Place where file is stored
// @include Place(s) where userscript should run
// ==/UserScript==
var multiURL = "";
$('div.titlebox').find('ul.subreddits').find('a').each(function () {
multiURL += $(this).text().substr(3) + "+";
});
multiURL = multiURL.substr(0, multiURL.length - 1);
window.open('http://www.reddit.com/r/' + multiURL);
值得注意的是,这将运行在每个地址列出@include
,所以你可能要考虑注入一个按钮或其他东西到相关页面,这样它就不会运行不必要的
相关文章:
- 从远程脚本获取用户IP
- 如何通过自己获得Chrome扩展的用户反馈/错误报告
- d3基于用户选择动态更新节点
- 同步调用,直到用户通过angular验证为访问者
- Greasemonkey Spoof用户代理
- 如何将 JSON 字符串中的文本替换为 Greasemonkey 的用户脚本
- 如何从 GreaseMonkey 用户脚本请求二进制文件
- Greasemonkey 用户脚本在 Java 脚本中更改/设置变量
- XPathResult 方法和属性不起作用 greasemonkey 用户脚本
- 如何在网站中使用用户脚本?(Greasemonkey是如何工作的)
- 了解Greasemonkey如何运行用户脚本
- 这个书签可以转换为Greasemonkey用户脚本吗?
- 允许用户从Greasemonkey脚本导入文件
- 可以使用greasemonkey类型的用户脚本检测对元素的单击
- 如何将bookmarklet转换为Greasemonkey用户脚本
- 在安装时将用户登录/密码输入存储在Greasemonkey脚本中
- Chrome用户脚本是否与全局命名空间分离,如Greasemonkey脚本
- 我应该在Greasemonkey或Chrome扩展的用户脚本中缩小javascript吗
- Greasemonkey for IE如何运行用户java脚本
- 在Greasemonkey用户脚本中监听github.com PJAX事件