草庐IT

新内容

全部标签

javascript - 检索和修改 XMLHttpRequest 的内容

我正在为Firefox、Safari、Chrome开发一个浏览器插件,它将拦截页面上的数据,针对正则表达式运行它,然后如果它匹配-重新格式化它。我使用以下方法处理页面加载:varmeth={replaceInElement:function(element,find,replace){//iterateoverchildnodesandreplace},run:function(evt){//docisthedocumentthattriggered"run"eventif(!(evt.target.nodeName==="#document")){return;}vardoc=evt

javascript - 将 Angular.js 应用于 Chrome 扩展内容脚本中的新 DOM 元素

好的,我已经研究了一段时间了。在红色框中,我想要一些Angular功能(ng-repeats、数据绑定(bind)等...)双击任何网页上的文本时会出现此红色框。但是,我似乎无法找到如何实际连接/连接到红色弹出窗口中的文本框示例的Angular。在chrome的徽章弹出窗口以及选项页面等中使用angular似乎相当微不足道......但我似乎无法在这种情况下让它工作。inject.js(作为内容脚本包含在list中,如下)vardisplayPopup=function(event){varmydiv=document.createElement('div');var$div=$('#

javascript - 如何使用 sinon.js 对回调函数的内容进行单元测试

如何使用sinon.js模拟框架在回调函数中测试代码?JSFiddle:http://jsfiddle.net/ruslans/CE5e2/varservice=function(){return{getData:function(callback){returncallback([1,2,3,4,5]);}}};varmodel=function(svc){return{data:[],init:function(){varself=this;svc.getData(function(serviceData){self.data=serviceData;//***testthisli

javascript - 是否有 32 字节或 64 字节的大小限制?用于内容脚本和 chrome 扩展的背景页面之间的消息传递?

我正在开发一个chrome扩展程序,可以从网页中提取大型公钥。我需要知道我是否会遇到在谷歌网站上找不到的与其消息传递API相关的任何限制。谢谢! 最佳答案 当您使用chrome.runtime.sendMessage时,消息被序列化,并从发送者的进程(例如包含内容脚本的选项卡)发送到扩展程序的进程(后台页面)走。IPC消息的硬限制是128MB.如果您发送任何大于此的内容,发送方的进程将被终止。现在,消息大小为128MB并不意味着您可以发送长度为134,217,728的JavaScript字符串,因为消息本身也需要一些空间来存储元数据

javascript - jQuery 中的内容文档

我有以下js脚本来访问对象内的元素(SVG-)jQuery(document).ready(function($){$(window).load(function(){vara=document.getElementById("alphasvg");varsvgDoc=a.contentDocument;vardelta=svgDoc.getElementsByTagName("path");$(delta).click(function(){//dostuff})});});我想使用jQuery来访问元素和标签。我完全停留在contentDocument部分。如何将其转换为jQuer

javascript - JS 更改了 DOM 后如何抓取内容?

我正在使用Mechanize,但如果Mechanize做不到,我愿意接受Nokogiri。我想在加载完所有脚本之后而不是之前抓取页面。我该怎么做? 最佳答案 我认为Nokogiri、Watir和PhantomJs是一个不错的选择:b=Watir::Browser.new(:phantomjs)b.gotoURLdoc=Nokogiri::HTML(b.html)生成的文档将在加载脚本后生成。phantomjs很好,因为不需要加载浏览器。 关于javascript-JS更改了DOM后如何抓

javascript - 导航后设置 angular-ui-tinymce 编辑器内容

我正在使用angular-ui-tinymce(最新版本0.0.4,https://github.com/angular-ui/ui-tinymce/blob/master/src/tinymce.js)。我遇到了一个我无法解决的问题。在第一个页面加载时,内容通过ng-model加载到编辑器。然后我导航到另一个状态,然后导航回编辑器的状态。该值仍然存在于范围内(我已经检查过了)但是由于某种我无法理解的原因,内容没有出现在编辑器中..这是带有指令作为属性的文本区域:此更改发生在将AngularJS从1.5更新到1.2.1之后。我认为它与ngSanitize有关,但我不确定..顺便说一下,

javascript - 是否有运行 Firebug 控制台内容的热键?

如果您使用的是Firebug(Firefox),并且在控制台命令行中输入javascript并按回车键,它就会执行。但是,有充分的理由,当您将命令行扩展到右侧的多行文本区域时,按回车键不会执行代码。相反,您必须单击此窗口左下方的运行。是否有运行命令窗口内容的热键/快捷方式?(即无需鼠标点击。) 最佳答案 Command+Enter帮我完成了。(在OSX上)对于Windows,可能是Ctrl+Enter。 关于javascript-是否有运行Firebug控制台内容的热键?,我们在Stac

javascript - 如何触发 Chrome 扩展,URL 中给定哈希的内容脚本?

我的匹配方案:"content_scripts":[{"matches":["https://stackoverflow.com/questions#epic*"],"js":["silly.js"]}],因此,如果用户转到网页(如https://stackoverflow.com/questions),然后添加#epic,它将转到https://stackoverflow.com/questions#epic但是在URL的末尾会有#epic,这将激活内容脚本silly.js。这是应该发生的事情,但这是行不通的。 最佳答案 参见Co

javascript - 为什么内容脚本中未定义 chrome.runtime?

我有一个非常简单的chrome扩展程序,我试图将消息从后台脚本传递到内容脚本。但是chrome.runtime是未定义的。这实际上是所有代码,如您所见,几乎没有任何内容。在内容脚本中,运行时未定义。背景脚本:chrome.browserAction.onClicked.addListener(function(tab){chrome.runtime.sendMessage({action:'someAction'},function(response){console.log('Response:',response);});});内容脚本:chrome.runtime.onMessa