我没有"安装"用户脚本,而是在网上找到了许多手动添加它的教程.所有人都告诉我要做同样的步骤:
我这样做了 - 但我的演示脚本没有做任何事情:
// ==UserScript==
// @name Test
// @description Test
// @include http://example.com/*
// @version 1.0
// ==/UserScript==
alert(0);
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
我正在寻找一种在我的浏览器控制台中运行ECMAScript 6代码的方法,但是大多数浏览器都不支持我正在寻找的功能.例如,Firefox是唯一支持箭头功能的浏览器.
有没有办法(扩展名,用户脚本等)我可以在Chrome上运行这些功能?
google-chrome userscripts google-chrome-extension ecmascript-6
正如你们中的一些人可能知道的那样,谷歌Chrome对Greasemonkey脚本有一些严重的限制.
铬不支持
@require,@resource,unsafeWindow,GM_registerMenuCommand,GM_setValue,或GM_getValue.
没有require,我找不到在Google Chrome下的Greasemonkey脚本中包含jQuery库的方法.
有人在这件事上有一些建议吗?
我正在写一些javascript(一个greasemonkey/userscript),它会将一些输入字段插入到网站上的表单中.
问题是,我不希望这些输入字段以任何方式影响表单,我不希望在提交表单时提交它们,我只希望我的javascript可以访问它们的值.
有没有什么方法可以将一些输入字段添加到表单的中间,而不是在提交表单时提交它们?
显然理想的事情是输入字段不在表单元素中,但我希望我的结果页面的布局使我插入的输入字段出现在原始表单的元素之间.
我正在尝试为网站制作用户脚本以添加自定义表达.但是,我遇到了很多错误.
这是功能:
function saveEmotes() {
removeLineBreaks();
EmoteNameLines = EmoteName.value.split("\n");
EmoteURLLines = EmoteURL.value.split("\n");
EmoteUsageLines = EmoteUsage.value.split("\n");
if (EmoteNameLines.length == EmoteURLLines.length && EmoteURLLines.length == EmoteUsageLines.length) {
for (i = 0; i < EmoteURLLines.length; i++) {
if (checkIMG(EmoteURLLines[i])) {
localStorage.setItem("nameEmotes", JSON.stringify(EmoteNameLines));
localStorage.setItem("urlEmotes", JSON.stringify(EmoteURLLines));
localStorage.setItem("usageEmotes", JSON.stringify(EmoteUsageLines));
if (i == 0) {
console.log(resetSlot());
}
emoteTab[2].innerHTML += '<span style="cursor:pointer;" onclick="appendEmote(\'' + EmoteUsageLines[i] + '\')"><img src="' + EmoteURLLines[i] + '" /></span>';
} else {
alert("The maximum emote(" + EmoteNameLines[i] + ") size is (36x36)");
} …Run Code Online (Sandbox Code Playgroud) 我需要在两个自主用户脚本之间传递数据 - 理想情况下不接触unsafeWindow对象 - 我认为使用自定义事件将是最佳选择.我想到了这样的事情(让我们为了示例的目的忽略MSIE模型):
addEventListener("customEvent", function(e) {
alert(e.data);
});
var custom = document.createEvent("HTMLEvents");
custom.initEvent("customEvent", true, true);
custom.data = "Some data...";
dispatchEvent(custom);
Run Code Online (Sandbox Code Playgroud)
这在标准的javascript环境中和一个用户脚本中很好地工作,但是当事件被用户脚本触发并被捕获到它之外或在另一个用户脚本中时,data属性是undefined铬.我想我可以保存传递的数据sessionStorage,但它远非无缝.还有其他优雅的解决方案,绅士和女士们?完美需要并且可以实现,我能感受到它.
javascript dom userscripts google-chrome-extension dom-events
我想模拟整个点击不仅仅是
document.getElementsByClassName()[0].click();
Run Code Online (Sandbox Code Playgroud)
我怎么做?搜索结果似乎都是关于处理此类事件,而不是触发它们.
无论如何要删除像这样添加的事件监听器:
element.addEventListener(event, function(){/* do work here */}, false);
Run Code Online (Sandbox Code Playgroud)
没有替换元素?
我正在尝试设置正文的背景图像,但仅限于使用该类的位置banner_url.HTML如下:
<body id="app_body" class="banner_url desktopapp" data-backdrop-limit="1">
Run Code Online (Sandbox Code Playgroud)
基本上,我想强制页面使用以下CSS代替:
.banner_url {
background: url('http://www.pxleyes.com/images/contests/kiwis/fullsize/sourceimage.jpg') no-repeat center center fixed;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
}
Run Code Online (Sandbox Code Playgroud)
我试图使用Greasemonkey这样做,如果它有任何区别.有谁知道我怎么能这样做?我从以下开始,但运气不好:
function randomBG(){
document.getElementsByClassName("banner_url").style.backgroundImage="url('http://www.pxleyes.com/images/contests/kiwis/fullsize/sourceimage.jpg')no-repeat center center fixed;";
}
randomBG();
Run Code Online (Sandbox Code Playgroud) 我必须在tampermonkey中包含所有站点.这是我必须运行的脚本
// ==UserScript==
// @name Phishing Blockz
// @namespace http://use.i.E.your.homepage/
// @version 0.1
// @description Phishing block based on hyperlinks
// @match http://*/*
// @run-at document-end
var req = new XMLHttpRequest();
req.open('GET', document.location, false);
req.send(null);
var headers = req.status;
var locheader=req.getResponseHeader("Location");
alert(headers);
alert(locheader);
Run Code Online (Sandbox Code Playgroud)
我做错了什么.请帮我在chrome的所有页面中运行此用户脚本
userscripts ×10
javascript ×6
greasemonkey ×4
tampermonkey ×3
css ×1
dom ×1
dom-events ×1
ecmascript-6 ×1
forms ×1
html ×1
jquery ×1
mouseevent ×1
onclick ×1
require ×1