Tag: tampermonkey

如何在用户脚本中使用jQuery在弹出窗口中引用div?

我的TamperMonkey用户脚本生成一个空的弹出窗口,我使用userscript + javascript成功写入了一个带有指定id的div 。 然后我希望使用jQuery(必须是jQuery,而不是javascript !!!)来引用该div元素。 我的问题类似于这个问题,除了我需要引用一个特定的div而不仅仅是引用示例中使用的body 。 这是我的代码: // ==UserScript== // @name test // @include https://www.google.com/* // @require https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js // @require https://code.jquery.com/jquery-migrate-3.0.1.js // @require https://apis.google.com/js/client.js?onload=handleClientLoad // @require http://jvenn.toulouse.inra.fr/app/js/canvas2svg.js // @require http://jvenn.toulouse.inra.fr/app/js/jvenn.min.js // ==/UserScript== this.$ = this.jQuery = jQuery.noConflict(true); {code for a button that, when pushed, directs to the following function} function buttonPushed() { var […]

在Tampermonkey中用户输入后消失的菜单命令

Tampermonkey是谷歌浏览器的扩展,试图模仿Greasemonkey的function。 为了清楚起见,我让我的脚本在Chrome中运行,并显示默认的JavaScript更改。 但是,我想测试菜单命令,并在单击Tampermonkey菜单中的命令后输入一个6位hex颜色代码。 我重新加载页面,命令从菜单中消失了! 我的脚本仍在那里(勾选了复选框)。 无论我做了什么或改变了什么代码,在设置了用户定义的输入之后,我永远无法模仿这个初始function。 这让我相信有一些我无法删除的持久性数据导致我的脚本过早失败。 注意:这个确切的脚本在Firefox中完美无误。 这显然不是Tampermonkey论坛,但这里的人似乎对跨平台的比较非常了解。 在下面的所有更改之后,我没有听到Chrome控制台的一次窥视,此时我真的只是出于想法。 这是我尝试过的一些事情(没有成功)。 列出了任何控制台错误: 将jQuery版本从1.5.1更改为1.3.2 页面加载后从控制台调用localStorage.getItem(’prevoColor’)(两个值为null) 将客户端存储从localStorage更改为get / setValue 从控制台调用GM_getValue = ReferenceError:未定义GM_getValue 在Chrome选项中删除veekun.com的localStorage条目 刷新,重新安装脚本,重新启动浏览器的次数超过了我的数量 使用Firebug Lite(bookmarklet)重复上述所有命令 这是我使用的代码: // ==UserScript== // @name Veekun Comparison Highlighter // @namespace tag://veekun // @description Highlights moves exclusive to pre-evolutions on veekun.com’s family comparison pages (user-defined colors available) // @include http://veekun.com/dex/gadgets/* // @author […]

Tampermonkey jQuery不需要工作

我正在尝试修改我为Grease Monkey编写的一段代码,使其与Tampermonkey兼容。 尽管我的@require https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js,篡改猴子仍然说’$’没有定义。 要求适用于Greasemonkey。 Tampermonkey instaled函数概述识别JQuery需要。 // ==UserScript== // @name Function // @version 1 // @run-at document-end // @require https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js // ==/UserScript== var userIP; $.ajax({ url: “https://api.ipify.org/?format=json”, // Getting user Ip Address async: false, dataType: ‘json’, success: function(data) { userIP = data.ip; // Saving user Ip Address } });

jQuery css()方法的渐变filter

我尝试更改页面中的某个样式,我希望使用用户脚本上的jQuery – css() method更改样式。 我试过jsfiddle ,我的浏览器使用Tampermonkey 某些属性样式已更改但gradient filter未更改。 这是页面上的风格: #site-header .meta-header { width: 100%; min-width: 960px; position: fixed; top: 0; left: 0; right: 0; height: 30px; background-color: #1484ce; filter: progid:DXImageTransform.Microsoft.gradient(gradientType=0, startColorstr=’#FF1484CE’, endColorstr=’#FF1274B5′); background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #1484ce), color-stop(100%, #1274b5)); background-image: -webkit-linear-gradient(top, #1484ce 0%,#1274b5 100%); background-image: -moz-linear-gradient(top, #1484ce 0%,#1274b5 100%); background-image: -o-linear-gradient(top, #1484ce […]

在Tampermonkey中使用jQuery

我使用Chrome 27.0.1453.116 m并启用了“Experimental Javascript”,但是我无法让jQuery在Tampermonkey上运行。 我试过了: // ==UserScript== // @name My Fancy New Userscript // @require http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js // ==/UserScript== var $ = unsafeWindow.jQuery; var jQuery = unsafeWindow.jQuery; 但是,我在行var $ = unsafeWindow.jQuery;上收到错误var $ = unsafeWindow.jQuery; 突出显示unsafeWindow说在定义之前使用了unsafeWindow。 如何解决这个问题?

Tampermonkey选择带有名称的下拉值

我希望Tampermonkey将选择下拉菜单更改为特定国家/地区。 HTML的格式如下; Country Afghanistan Albania United Kingdom United States United States 我试过了; (“select[name=’shipping_country_id’] option[value=’42’]”, clickNode, true); 和 (document.querySelector && document.querySelector(‘select[name=”shipping_country_id”]’) || []).value = ’42’; 读取Tampermonkey后选择下拉值。 它没有ID或名称,只是一个类? 我尝试使用该答案中使用的相同方法; waitForKeyElements (“shipping_country_id:has(option[value=’42’])”, selectCountryDropdown); function selectCountryDropdown (jNode) { var evt = new Event (“click”); jNode[0].dispatchEvent (evt); jNode.val(’42’); evt = new Event (“change”); jNode[0].dispatchEvent (evt); } 我错过了什么或尝试了错误的东西吗?

如何顺序循环GET / POST调用(等待上一次)返回?

我正在为网页编写Tampermonkey脚本,并尝试从其他页面提取数据。 我正在尝试创建一个内部循环的函数,该函数通过list, llcList ,并从ajax方法GET中检索数据,但是想要在转到第二个请求之前等待完成一个请求。 如果我可以让它等一些额外的时间,那将是奖励。 应该怎么做: 发送一个llcList [0]的请求 获取返回数据,处理它 等一段时间 发送新的llcList请求[1] 这可能吗? 我尝试了几种方法,每次循环发送所有请求不是一秒钟。 : function F_Company_LLC(){ for (i = 0; i < llcList.length;i++) { if(llcList[i][2]=="lab"){ //run function 0 //break; } else if(llcList[i][2]=="shop"){ //run function 1 //break; } else{ F_GET_CompData(llcList, llcList[i][1],i,function(result){ console.log(result); }); } }} function F_GET_CompData(F_GET_CompData_list, CompID, F_GET_CompData_row, callback){ $.ajax({ method : "GET", url: base_link+"/company/edit_company/"+CompID, […]

用户脚本隐藏跨域iframe的子节点

我想用(Tampermonkey)用户脚本隐藏一些内容的评论。 作为一个例子,我试图应用一个脚本 // ==UserScript== // @name Hide CNN // @match http://www.cnn.com/* // @require http://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js // @grant GM_addStyle // @run-at document-end // ==/UserScript== $(‘div.post-body:contains(“Abbas”)’).hide() 到页面http://www.cnn.com/2014/07/08/world/meast/mideast-tensions/index.html?hpt=hp_t1与以下代码的post … Abbas is nothing but puppet dog of Western savages and Nazis who want to enslave entire world. … 但剧本似乎没有做任何事情。 我究竟做错了什么? 是否有可能使用用户脚本过滤网页的动态加载部分? UPD:问题是评论是从另一个域加载到iframe中的。 如何使用Tampermonkey隐藏此类iframe的子节点? 我是否需要以某种方式使用GM_xmlhttpRequest ?