Tag: userscripts

以编程方式单击标签/广播或火灾事件

我正在编写一个用户脚本,将自定义javascript注入页面的头部。 十分简单 // ==UserScript== // @name *** (BLOCKED DUE TO NDA) // @namespace *** (BLOCKED DUE TO NDA) // @description *** (BLOCKED DUE TO NDA) // @include *** (BLOCKED DUE TO NDA) // @author Aaron K. Henderson // @version 1.0 // ==/UserScript== var head= document.getElementsByTagName(‘head’)[0]; var script= document.createElement(‘script’); script.type= ‘text/javascript’; script.src= ‘***.js’; head.appendChild(script); 我注入的.js使用已经在页面上使用的jQuery来进行一些css更改以及自动化一些平凡的任务。 $(document).ready(function() […]

试图将someFunction.jQuery映射到“$”

我找到了一个函数( 通过这个人的github ),我可以在我的脚本中使用它来模仿API对象的function。 这是链接中的相关代码: unsafeWindow = (function() { var e1 = document.createElement(‘p’) e1.setAttribute(‘onclick’, ‘return window;’); return e1.onclick(); })(); 海报上说你可以使用unsafeWindow.jQuery格式的函数 现在,我希望能够在代码中的其他地方使用$而不是jQuery关键字。 我尝试从这个堆栈溢出问题中学习以简化它并重新编写代码,如下所示: (function($){ var e1 = document.createElement(‘p’) e1.setAttribute(‘onclick’, ‘return window;’); return e1.onclick(); })(jQuery); 但它没有用。 我想我可以尝试使用$ = unsafeWindow.jQuery来映射到$ ,但我想尝试以上面看到的格式进行操作。

如何在我的文档中“弹出”一个IFRAME?

我正在将同一域中的页面加载到我页面上的iframe 。 在iframe与JavaScript驱动的表单交互后,我希望它接管整个文档。 我不能只将页面的位置设置为iframe的位置,因为无法通过传递URL参数将其设置为我想要的状态。 我可以找到跳出iframe的所有引用都是关于控制弹出窗口的iframe的页面。 我想从代码中弹出iframe ,该代码位于主文档的上下文中。 (我的项目实际上是一个Google Chrome用户脚本,与我没有服务器控制权的第三方网站进行交互。) 我正在使用jQuery但是vanilla JavaScript当然也很好。

是否可以通过用户脚本Jquery识别所有键码事件

我正在使用Tampermonkey构建一个用户脚本来识别键码事件,当键被触发时它将执行一个function。 例如。 我想按Enter键 ,其keycode为13,所以我使用了这段代码 $(document).keypress(function(event){ var which = (event.which ? event.which : event.keyCode); if(which == ’13’){ alert(“You Pressed Enter key”); } else if(which == ’17’){ alert(“You Pressed Control key”); } }); 使用Enter和1时代码可以正常工作,但是不能使用Ctrl , Shift和其他键。 我有什么遗漏或不能处理所有关键事件吗? 注意:我一直在使用此链接获取我的密钥代码并在我的脚本中使用它们。

添加时修改新元素

这是由我的用户脚本在页面加载时完成的: $(‘a.people’).each(function (index, value) { $(”+$(value).text()+”).insertBefore(value); }); 用户脚本定位的Web应用程序,在用户执行各种操作时添加新的$(‘a.people’)元素。 如何为新添加的元素运行我的代码? 是否有新元素添加到DOM时触发的事件? 我不想使用setInterval因为代码将在不需要时循环并影响性能。

如何为动态网站编写用户脚本

**首先,我很抱歉我的英语不好! 我正在尝试为某些网站编写用户脚本。 这个网站每次点击或几秒钟更新自己。 (它使用ajax更新视图而不刷新)当用户在某个视图中时,我的用户脚本必须附加一些html元素。 如何在每次视图更改时运行我的代码? (在ajax之后) 该页面有一个名为ajaxCall的函数,它发送一个ajax请求并根据响应更改页面。 我试过这样的事情: var source = window.ajaxCall; window.ajaxCall = function(param){ source(param); myFunc(); } 这不起作用,因为ajaxCall发送异步ajax请求,所以:首先,源函数调用(ajax请求启动),并在它之后立即调用我的函数。 (在ajax请求成功并且视图已更改之前) 有没有办法在页面更新后立即运行我的代码? 非常感谢你。

如何顺序循环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, […]

原生javascript相当于jQuery:contains()选择器

我正在编写一个UserScript,它将从包含特定字符串的页面中删除元素。 如果我正确理解jQuery的contains()函数,它似乎是工作的正确工具。 不幸的是,由于我将运行UserScript的页面不使用jQuery,我不能使用:contains()。 你们中的任何一个人都知道这样做的本土方式是什么?