草庐IT

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

javascript - Firefox Add-On SDK 内容脚本中的相对图像 url

我目前正在使用Add-OnSDK开发Firefox扩展,遇到了一个真正的问题。基本上我的扩展程序只是将内容脚本注入(inject)网页,如下所示:ma​​in.jsvarpageMod=require("page-mod");varself=require("self");pageMod.PageMod({include:"http://mail.google.com/mail/*",contentScriptFile:[self.data.url("jquery.js"),self.data.url("start.js")],attachTo:["top"]});start.js$(

javascript - 如何使用 .load() 从另一个域获取内容?

使用.load()(或任何jQueryajax函数)从我域中的任何位置请求数据都可以正常工作。尝试访问不同域中的URL是行不通的。你怎么做呢?另一个域也恰好是我的。我读到过一个技巧,你可以用PHP做一个获取内容的代理,然后你在你服务器上的那个php位置上使用jQuery的ajax函数,但是你仍然在你自己的服务器上使用jQueryajax,所以不会算了吧。有没有好的插件?编辑:我发现了一个非常好的jQuery插件,它允许您使用任何jQuery函数从其他页面请求内容,就像您在自己的域中请求普通的ajax请求一样.帖子:http://james.padolsey.com/javascript