栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

我的用户脚本仅在刷新页面或在iframe上有效时才起作用,而不在主页上起作用?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

我的用户脚本仅在刷新页面或在iframe上有效时才起作用,而不在主页上起作用?

问题是一个AJAX。当您键入URL或刷新页面时,脚本将起作用。当您单击“活动日志”按钮时,脚本不会。iframe不是您报告的症状的因素。

这是因为单击该链接将永远不会加载新页面。它会触发替换部分内容的AJAX调用,使其 看起来 像一个新页面,但事实并非如此。

就Facebook而言,通常唯一更改的是所报告的URL(但不会触发hashchange!)和

#mainContainer
div 的内容。

您还必须

@include
所有FB页面,因为类似
https://www.facebook.com/ @include     https://www.facebook.com/*// @version     1// ==/Userscript==var pageURLCheckTimer = setInterval (    function () {        if (    this.lastPathStr  !== location.pathname ||  this.lastQueryStr !== location.search ||  this.lastPathStr   === null ||  this.lastQueryStr  === null        ) { this.lastPathStr  = location.pathname; this.lastQueryStr = location.search; gmMain ();        }    }    , 222);function gmMain () {    if (window.self === window.top)        alert ('"New" main (top) page loaded.');    else        alert ('"New" iframed page loaded.');}

但是, 由于页面被大量AJAX处理,因此您会发现页面首次加载时触发几乎总是为时过早。

明智的做法是

waitForKeyElements
在您真正关心的页面的特定部分 使用 (未在问题中指出。)

这是使用的示例

waitForKeyElements
。请注意,要
@require
在Chrome中使用,必须使用Tampermonkey(无论如何都应这样做)。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/386760.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号