Tag: JavaScript

从Firefox扩展程序访问Google Drive

我试图从Firefox扩展程序访问(CRUD)Google云端硬盘。 扩展以Javascript编码,但两个现有的JavaScript SDK似乎都不合适; 客户端SDK期望“窗口”可用,而扩展中则不是这样,而服务器端SDK似乎依赖于特定于节点的工具,因为当我加载时,在节点中工作的脚本不再执行它通过browserify运行后在Chrome中。 我坚持使用原始REST调用?工作的Node脚本如下所示: var google = require('googleapis'); var readlineSync = require('readline-sync'); var CLIENT_ID = '….', CLIENT_SECRET = '….', REDIRECT_URL = 'urn:ietf:wg:oauth:2.0:oob', SCOPE = 'https://www.googleapis.com/auth/drive.file'; var oauth2Client = new google.auth.OAuth2(CLIENT_ID, CLIENT_SECRET, REDIRECT_URL); var url = oauth2Client.generateAuthUrl({ access_type: 'offline', // 'online' (default) or 'offline' (gets refresh_token) scope: SCOPE // If you only need one scope […]

使用本地Chrome浏览器Javascript / FileReader / DataView阅读id3 v2.4标签

基于ebidel的答案,可以使用jDataView来读取id3v1标签: document.querySelector('input[type="file"]').onchange = function (e) { var reader = new FileReader(); reader.onload = function (e) { var dv = new jDataView(this.result); // "TAG" starts at byte -128 from EOF. // See http://en.wikipedia.org/wiki/ID3 if (dv.getString(3, dv.byteLength – 128) == 'TAG') { var title = dv.getString(30, dv.tell()); var artist = dv.getString(30, dv.tell()); var album = dv.getString(30, dv.tell()); […]

如何获得Aptana的代码帮助以使用Google Maps API v3?

有一个Google Maps API v3 Visual Studio Intellisense Helper ,它大概可以用于Visual Studio,但Aptana(基于Eclipse)使用不同的JavaScript文档格式 – ScriptDoc (.sdoc文件)。 ScriptDoc也是一个VS实用程序的名称,用于将带有Intellisense注释的JS文件转换为XML,只是为了混淆事物。 我已经尝试在Aptana中添加Intellisense文件作为文件/全局引用,但是所有这些都是google完成,并且没有在Google命名空间中的完成或文档。 可能的解决scheme: findAptana已经完成的人。 我已经谷歌了很多,但找不到任何东西。 将Visual Studio Intellisense Helper转换为Aptana可以理解的格式。 刮取API页面并将其转换为Aptana可以理解的格式。

jQuery兼容的JavaScript文档生成器

我需要select一个文档生成器(类似于java中的jdoc或Ruby中的rdoc)为我的JavaScript项目(用jQuery,下划线和骨干构build) 候选人: jsdoc工具包 PDOC 自然文档 docco YUI文档 doctool http://jquery.bassistance.de/docTool/docTool.html 其他? 要求 应该使用jQuery,下划线和主干。 这意味着对象文字方法等 我真的很喜欢pdoc,但是它太过于以原型为中心,没有很好的文档logging,而且我不想制作额外的文件(部分?)来使其工作(不确定这一点) docco是不错的,但我想要结构化的输出(如菜单+ class / func结构像jdoc) 必须是命令行/制作文件兼容​​(不是网上的贴图) 提示,技巧,教程,成功的故事,build议非常欢迎。 为什么不jQuery使用JSDoc?

添加favicon to JavaScript Bookmarklet(使用window.open)

我有一个小书签,它启动了一个window.open javascript函数,用我的小书签打开一个小窗口 – 一个用于在任何被浏览的网站和我的服务器之间进行通信的外部特征。 当书签添加到书签工具栏时,我想要显示一个图标 。 我意识到bookmarklet是javascript,没有绑定的域名,所以要实现这个目标要么很困难,要么是不可能的。 我对这个问题的理解: Favicons很容易理解,是HTML文档头部的一个链接。 浏览器可以通过引用为实际网站添加书签时提取此信息。 然而,正如你看到我的小书签跑了一个JavaScript的启动代码,不存在HTML,因此没有链接到一个网站图标 。 我还没有准备好放弃,我觉得有一些注射可以做… 截至目前,bookmarklet启动代码如下所示: 当前脚本 – 书签,没有图标(注意所有的代码是用换行符格式化的 – 不会在所有的浏览器中运行,通常是一行代码) javascript:void(window.open( 'http://mydomain.com/bookmarklet/form?u=' +encodeURIComponent(location.href)+ 't='+encodeURIComponent(document.title), 'test','status=0,toolbar=0,location=0,menubar=0, resizable=false,scrollbars=false,height=379,width=379' )); 我发现一个解决scheme最接近的东西如下,但它不会打开一个新的窗口 – 只是创build一个新的选项卡与HTML作为页面: 正在工作的图标,没有书签窗口 javascript:'<!DOCTYPE html> <html><head> <title>Hello World</title> <link rel="icon" type="image/png" href="http://www.tapper-ware.net/devel/js/JS.Bookmarklets/icons/next.png" /> </head> <body>Hello World</body> </html>'; 我已经尝试了两者的组合,但似乎没有使用图标。 我很想知道是否有人可以看到一种解决方法..我认为这可能是可能的,我只是不认为它正确设置,因为我一直在尝试。 我的两个书签的混合,但没有favicon javascript:'<!DOCTYPE html> <html><head> <title>Hello World</title> <link rel="icon" type="image/png" […]

无法清除临时存储

无法清除临时存储:确定某些文件在Web应用程序中访问不安全,或者调用的文件资源太多。 引发SecurityError 我在控制台中得到这个错误。 我有一个脚本名script.js这使得Ajax调用来检索数据从PHP。 任何想法为什么? 这是我的jQuery脚本 $(document).ready(function() { var loading = false; var docHeight = $(window).height(); $('.timeline').css({minHeight: docHeight}); function get_tl_post() { if (loading==false) { loading = true; $.ajax({ type:"POST", url:"timeline.php", data:"data=instagram", beforeSend:function(){ $('.loader').fadeIn("slow"); }, complete:function(){ loading = false; $('.loader').fadeOut("slow"); }, success:function(data) { if(data=="error") { get_tl_post(); } $(data).hide().appendTo(".timeline").fadeIn(1000); } }); } } $(window).scroll(function(){ if ($(window).scrollTop() == […]

确定最大可能的DIV高度

是否有推荐的方法来确定DIV可以设置的最大高度,并保持每个浏览器可见? 这似乎没有logging在任何地方,并且具有很高的实施特定性。 例如,请参阅以下testing脚本: http://jsfiddle.net/NP5Pa/2/ 这是一个简单的testing,可以在元素的相应clientHeight变为0之前find最大值,您可以设置DIV样式高度属性。您可以通过单击“查找最大值”然后将find的高度增加1并单击“设置高度”。 一些例子(Win7 / 64): Chrome (14.0) : 134,217,726 px Safari (5.1) : 134,217,726 px IE (9.0) : 10,737,418 px FF (7.0.1) : 17,895,697 px WebKit产生相同的结果并不令人惊讶,我想 – 更令人惊讶的是,IE和FF是如此不同。 有没有更好的办法? 你在32位系统中得到不同的结果吗? – EDIT:更新小提琴停止在10,000,000,000(并更快)为Opera。 这是很多像素。

如何在DOM中删除图像时防止内存泄漏?

webkit中有一个已知的bug ,当你从DOM中移除一个图像时,它不会释放与之关联的内存。 这是经常加载图像的单页应用程序的问题。 各种build议解决scheme是: 从DOM中删除图像之前删除图像的src属性 将图像src设置为“”,然后从DOM中删除图像 将图像从DOM中移除之前,将图像设置为单个像素图像 创build有限数量的图像元素并继续回收 前3种方法不适合我。 回收图像元素的主要缺点是,这意味着要编写大量的代码来pipe理它。 我通过可能包含图像的AJAX加载新的HTML,所以我不一定知道将被加载的图像的数量。 有没有其他的解决办法来解决这个问题?

与nvd3.js的实时线图

我正在尝试使用nvd3.js创build一个实时graphics,这个graphics会定期更新,并带有数据被实时处理的印象。 现在我已经能够创build一个定期更新graphics的函数,但是我不能像在向左转换的行那样在“状态”之间进行平滑过渡。 这里是我使用nvd3.js,这里有趣的代码是: d3.select('#chart svg') .datum(data) .transition().duration(duration) .call(chart); 现在,我已经能够使用d3.js来生成我想要的东西,但我更愿意使用nvd3.js提供的所有工具。 这是我想用nvd3制作的 使用d3.js进行转换的有趣代码是: function tick() { // update the domains now = new Date(); x.domain([now – (n – 2) * duration, now – duration]); y.domain([0, d3.max(data)]); // push the accumulated count onto the back, and reset the count data.push(Math.random()*10); count = 0; // redraw the line svg.select(".line") […]

适用于Android的全屏Web应用程序

我想在Android上以全屏模式运行我用HTML5编程的Web App。 (隐藏状态栏和地址/导航栏) 对于iOS你只写: <meta name="apple-mobile-web-app-capable" content="yes" /> <meta name="viewport" content="width=device-width, initial-scale=1.0"> 但是这在Android上不起作用。 Javascript有很多解决scheme,但是我尝试的所有解决scheme都不起作用。 有人知道解决scheme?