【发布时间】:2017-06-13 16:39:07
【问题描述】:
这个简单的代码不适用于 Facebook 页面。此代码仅在我刷新 the page 时发出警报。如果我用鼠标从my Facebook profile 转到那个页面;脚本停止工作。
没有警报或错误。 :(
在我刷新之前,整个脚本似乎都无法运行。
// ==UserScript==
// @name Purge My Facebook
// @namespace http://www.arda.com
// @description test
// @include https://*.facebook.com*
// @include http://*.facebook.com*
// @version 1
// ==/UserScript==
window.setTimeout (isParent, 500);
function isParent () {
if (window.self == window.top) {
alert ("main window");
} else
window.setTimeout (isParent, 500);
}
我也试过这个,除其他外:
// ==UserScript==
// @name Purge My Facebook
// @namespace http://www.arda.com
// @description test
// @include http://www.facebook.com/*/allactivity*
// @include https://www.facebook.com/*/allactivity*
// @version 1
// ==/UserScript==
try{
if (window.self == window.top)
alert(document.domain+"\nmain window");
else
alert(document.domain+"\nin a iframe");
}
catch(e){
alert(document.domain+"\nHad a problem:\n"+e);
}
【问题讨论】:
-
这会在主窗口中引发警报,没问题。它不会在 iframe 上触发,因为
@include指令未涵盖它们。链接setTimeout只会导致浏览器在 iframe 上冻结/崩溃。不要那样做! 究竟是什么,这个脚本在“主窗口”中不起作用吗? -
不......它在主窗口上不起作用。这是我的测试脚本..我在 userscripts.org 上阅读了你所有的答案和论坛..我现在正在拉扯我的头发。
-
我测试过;它确实适用于主窗口。你叫什么主窗口?给出:(1) 准确的测试 URL,(2) 预期行为,(3) 实际行为。
-
我刚开始写我的代码,当它失败时我删除了所有代码并今天开始新的..我将在活动日志部分运行这个脚本但是如果我用鼠标点击它不会工作..如果我在地址栏输入地址或者如果我刷新该页面,它就可以工作。我只是想从主窗口中获取元素
-
不,您的两个脚本都在主框架上 100% 工作。您所描述的是 AJAX 问题,而不是 iframe 问题,
waitForKeyElements绝对可以解决这个问题。 提供我之前要求的那 3 个项目! 它们也是问题从一开始就应该包含的内容。
标签: javascript ajax facebook userscripts