// the iframe of the div I need to access
var iframe = document.getElementsByTagName("iframe")[2];
var innerDoc = iframe.contentDocument || iframe.contentWindow.document;
// resize 'player' in the iframe
innerDoc.getElementById('player').width = "1000px";
innerDoc.getElementById('player').height = "650px";
Run Code Online (Sandbox Code Playgroud)
在此脚本的用户脚本中运行:http://www.free-tv-video-online.me/player/sockshare.php?id = 24DA6EAA2561FD60
为什么Chrome出现此错误并导致脚本失败?:
Unsafe JavaScript attempt to access frame with URL http://www.sockshare.com/embed/24DA6EAA2561FD60
from frame with URL http://www.free-tv-video-online.me/player/sockshare.php?id=24DA6EAA2561FD60.
Domains, protocols and ports must match.
Run Code Online (Sandbox Code Playgroud)
(我只是一个基本的Javascript用户)
最后的代码,非常感谢回答者:
// ==UserScript==
// @name Resize
// @include http://www.free-tv-video-online.me/player/sockshare.php*
// @include http://www.sockshare.com/*
// ==/UserScript==
if (!(window.top === window.self)) {
var player …Run Code Online (Sandbox Code Playgroud) 我有一个小脚本,旨在将 Google Music 上的 favicon 从 Play Store 图标更改为实际可识别为与音乐相关的内容:
// ==UserScript==
// @name Update Google Music Favicon
// @version 1.0
// @description Replaces Google Music icon with something almost like the old one but much uglier.
// @include http://play.google.com/music/*
// @include https://play.google.com/music/*
// ==/UserScript==
window.addEventListener('load', function() {
a=document.createElement("link");
a.setAttribute("type", "image/jpeg");
a.setAttribute("rel", "icon");
a.setAttribute("href","data:image/jpeg;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAQAABILAAASCwAAAAAAAAAAAAAAAAAAAAAAAEEzUgBwUwAAQjo+EHlnZnF7aWhzWlBQEkE8Owx/c3JrinZ1d1hPVRb/rkAALjhpAAAAAAAAAAAAAAAAADoABwBnwP8AXKD/IkxytqZqYVn1dGRj9k9GRkM2NDMzcGZl74Rwb/lRf6uwRqz5LHTy/wAlDxgAAAAAAAAAAABzuuYAdKGpDEqX/6coY8L/YVpN/2RbWvtBOztNLy8vP2ZfXvd6Z1z/MnSt/zif/7U4X6gSQonhAAAAAAAAAAAAac//AFmn30kqp//0EWG4/2pcT/9hWlr7PTg4TS8vL0BjXl73e2dc/x5fpP8Vf/r5LHTHWTGF+QAAAAAAAgAAABvJ/wAWl+R3AaH3/xl7uP+EcGn/YVxb+zQwME0xMTFAY2Bf93pnXf8cVp7/AHv5/w1/44wJrv8AAgUAAAN+4wADZbkSAJv8twCU+f8ccrX/kHx7/2toaPs1MjJNMzMzQGZjaPd1Zlz/HU+U/wCG9P8Brf7JA4XQHQCn/wAA//8AGZntcg6X/vwMkfr/HH6+/4l6c/90bm77Q0FBTTQzM0BqaGj3gXFp/x51pf8Jm/n/D6P8/wWx/4hBAAACU1CUB0uy9bIacLvlS6/0lymLve6CeHP/dXV0+zc3Nks7Ozs+gICA9ot8e/8hiKj1O8T8niSAueAbsPTDE3nPDw+M/wAmf91oDFOwaa3//wxakrV3Z2hj1W1oaNk8PDwwXV1dJIiIiNFwcGvbVYicgpP//xMWZaJfGI7XeAjn/wAAsf8AI4Tnbxpr02gTo/8AJgoAAl5aUyBqamohY2NjA4WFhQKIiIgecGxqIjkZCQMQs/8AHonLWhOx+YG/AAABJV+4DiiZ/8Ilk/zLElS8GBR5+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWlNwAF2KYEBq1970gyv/SEZHVGDcAAAIMeP+PGor//xeC9YcELHYIDGbeAAAAAAAAAAAAAAAAAAAAAAALpMgAADUxBBLK9XQTxP/8Dqb8ohVIjwYReP8AGGTbJg1w99MKdf/4DJL2lhCz0CwJb3QH/wAAAAD//wA0WEMFEq3MJArH+IYIzP/yCbv63wuK5jIKr/8AP0iaAACq/wAhWuRBEYr62Qmx/v8KsP/kDL7/sQfK/5AZuuuNE8P7rAq9/98IwP7/C8T/4Q64/k8A//8AEYfBAAAAAABQeNcAAP//ACqn7y8grPunFav+7wiq//8FrP//Ba7//wey//8Rt//yFrr7sBjC/zgiAAAAIK/9AAAAAAAAAAAAAAAAAK2BxAA/uf8AUqzwCjy0+UA1tfyBMLb8pSy2/KYruPuFLbr5Ri+w7g0q3v8AYUuiAAAAAAAAAAAA8A8AAOAHAADAAwAAwAMAAMADAACAAQAAgAAAAAAAAACAAQAAkAgAAA/wAAAH4AAAgIEAAMADAADgAwAA8A8AAA==");
document.documentElement.firstChild.appendChild(a);
}, false);
Run Code Online (Sandbox Code Playgroud)
不幸的是,这似乎不起作用,即使我在 JS 控制台中输入它。我试过用 Stack Overflow favicon URL 替换它,但这也不起作用,但将其切换到 google.com/favicon.ico 工作 - 我猜问题是 favicon 不是来自同一个域? 有没有解决的办法?我在调试控制台中看不到任何有用的东西。
我要连接的网址是:https : //play.google.com/music/listen?u=0#/now
我需要使用 Greasemonkey 替换 URL 中的特定文本。
例如,如果页面是:
http://adf.st/?u=https%3A%2F%2Finstagram.com%2Fp%2F4XOVEaD5Ca%2F
Run Code Online (Sandbox Code Playgroud)
然后该脚本将使用以下 URL:
http://adfa.cc/?u=https%3A%2F%2Finstagram.com%2Fp%2F4XOVEaD5Ca%2F
Run Code Online (Sandbox Code Playgroud)
注意:后面的其余文本adf.st/不固定。
我在 chrome tampermonkey 的用户脚本中使用 window.location.href=" link .mp4" 但不是开始下载 chrome 是打开文件并开始播放它。我在变量中有一个文件链接,如果有任何方法可以触发直通 idm,我也会使用 idm。
我正在写一个用户脚本,我无法填写reactjs制作的表格.我的代码:
document.querySelector("#id-username").value = "name@domain.xx";
// Attempt to notify framework using input event
document.querySelector("#id-username").dispatchEvent(new Event("input", {data:"name@domain.xx"}));
// Attempt to notify framework using change event
document.querySelector("#id-username").dispatchEvent(new Event("change"));
// This doesn't help either
document.querySelector("#id-username").dispatchEvent(new Event("blur"));
// Submit the form using button (it's AJAX form)
document.querySelector("fieldset div.wrap button").click();
Run Code Online (Sandbox Code Playgroud)
我在加载页面后将此代码输入到开发工具控制台中.然而,表格忽略了我的编程输入:

表格可以在这里找到.我的工作目的是自动登录到给定的网站.我提供了特定的URL,但我期望这个问题的通用解决方案(例如,使用一些reactjs API)可以应用于任何reactjs表单.其他用户可能需要此解决方案来为其站点编写自动化测试.
我想为我的浏览器(Opera,Chromium)编写一个用户脚本,删除包含预定义关键字的链接.例如,当链接成为黑名单的一部分<a href="foo">bar</a>时,链接应该从页面中消失foo.
如何删除页面中的重复链接,除了首先显示如何获取和过滤网站,但我想通过用户脚本直接执行此操作.我是如何在每个页面加载时应用过滤器的?
我正在为opera的用户脚本工作,而opera不支持DOMSubtreeModified,是否有任何替代子树修改的方法?
注意:我只在javascript中寻找解决方案.(不是jquery或任何JavaScript库)
谢谢.
我有这个用户名:
// ==UserScript==
// @name test
// @namespace test
// @description show's an alert on load
// @include http://*
// @include https://*
// ==/UserScript==
window.addEventListener('load', function(){alert("loaded");}, false);
Run Code Online (Sandbox Code Playgroud)
这在所有页面上都适用于Firefox,但在某些情况下在Chrome上根本不起作用.
一个例子是这个网站:http://lexin.nada.kth.se/lexin/ 输入地址中的链接并点击进入,正常加载页面但没有弹出警报.如果按F5刷新页面,则会显示弹出窗口.
对这种奇怪的行为有一些解释吗?
我想更改网页显示的部分内容,是否可以用usercript覆盖一个函数?
下面是我想覆盖的功能(也可以在这里找到):
function StartDrawing() {
if ((typeof (systemsJSON) != "undefined") && (systemsJSON != null)) {
var stellarSystemsLength = systemsJSON.length;
$('#mapDiv').empty();
if (stellarSystemsLength > 0) {
InitializeRaphael();
var i = 0;
for (i = 0; i < stellarSystemsLength; i++){
var stellarSystem = systemsJSON[i];
DrawSystem(stellarSystem)
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
这将允许我运行自己的绘图算法.
如何使用chrome(或Firefox)中的用户脚本执行此操作?
如果目标页面上存在某些内容,我有一个用户脚本会弹出通知.
在Tampermonkey/Chrome下,这不是问题.我可以使用该GM_Notification()功能轻松创建通知.
当我尝试在Firefox下执行此操作时,它没有任何相同的行为.
检查日志中没有关于该功能的错误,也没有任何通知弹出.
下面是一些示例代码,它们在Firefox + Greasemonkey或Firefox + Tampermonkey中不起作用,但在Chrome + Tampermonkey中有效:
// ==UserScript==
// @name Test Notifier
// @include *
// @grant GM_notification
// @grant window.focus
// ==/UserScript==
console.log('I am a pretty test script');
var notificationDetails = {
text: 'THIS IS A TEST NOTIFICATION!!!',
title: 'TEST',
timeout: 15000,
onclick: function() { window.focus(); },
};
GM_notification(notificationDetails);
Run Code Online (Sandbox Code Playgroud)
这是Firefox的标准行为吗?它是否以完全不同的方式处理HTML5通知(如果有的话)?在Firefox用户脚本中启用通知的常见做法是什么?
javascript ×10
userscripts ×10
greasemonkey ×5
tampermonkey ×2
dom ×1
iframe ×1
onload ×1
opera ×1
reactjs ×1
redirect ×1