草庐IT

scripting-interface

全部标签

javascript - Chrome 扩展 : how to pass ArrayBuffer or Blob from content script to the background without losing its type?

我有这个内容脚本,它使用XHR下载一些二进制数据,稍后发送到后台脚本:varself=this;varxhr=newXMLHttpRequest();xhr.open('GET',url);xhr.responseType='arraybuffer';xhr.onload=function(e){if(this.status==200){self.data={data:xhr.response,contentType:xhr.getResponseHeader('Content-Type')};}};xhr.send();...later...sendResponse({data:se

javascript - 使用 JavaScript 添加 &lt;script&gt; 和 <link> 元素的优缺点是什么?

最近我看到一些HTML只有一个其中的元素...Example这script.js然后添加任何其他必要的元素和使用document.write(...)将元素添加到文档中:(或者它可以使用document.createElement(...)等)document.write("");document.write("");document.write("");document.write("")document.write("")请注意,有一个plain.css文件中的CSS文件和script.js只需添加将由支持JS的用户代理使用的所有CSS和JavaScript。这种技术的优点和缺点是

javascript - document.createElement ('script' )... 用一个回调添加两个脚本

我需要添加原型(prototype),然后添加scriptaculous,并在它们都完成加载时获得回调。我目前正在像这样加载原型(prototype):varscript=document.createElement("script");script.src="http://ajax.googleapis.com/ajax/libs/prototype/1.6.1.0/prototype.js";script.onload=script.onreadystatechange=callback;document.body.appendChild(script);我可以通过链接回调来做到这

javascript - jQuery getScript() 与 document.createElement ('script' )

假设这两种方法都能正确加载脚本,并且我在使用脚本(和/或使用回调)之前等待了适当的时间,那么这些方法之间的主要区别是什么。注意:我知道第一个使用jQuery(这是一个更大的下载等)。我真正感兴趣的是这些方法的后续影响。一个人将脚本放在与另一个不同的范围内吗?等等jQuery:functionloadScript(){$.getScript('http://www.mydomain/myscript.js');}附加到正文:functionloadScript(){varscript=document.createElement('script');script.type='text/j

javascript - Chrome 扩展 : how to detect that content script is already loaded into a tab?

我的后台脚本中有以下代码:chrome.tabs.onUpdated.addListener(function(tabId,changeinfo,tab){if(changeinfo.status!=='complete')return;if(!matchesUrlFilters(tab.url))return;chrome.tabs.executeScript(tabId,{file:"jquery-1.7.1.min.js"},function(){chrome.tabs.executeScript(tabId,{file:"enhance.js"});});});但是,在某些情况

javascript - Typescript 接口(interface)可选属性取决于其他属性

假设我们有以下Typescript接口(interface):interfaceSample{key1:boolean;key2?:string;key3?:number;};在这种情况下,key1始终是必需的,key2始终是可选的,而如果key1为true,如果key1为false,则不应存在。换句话说,一个键的出现取决于另一个键的值。我们如何在Typescript中实现这一点? 最佳答案 最直接的表示方式是使用typealias而不是界面:typeSample={key1:true,key2?:string,key3:numbe

javascript - 动态创建脚本时还需要 "script.type=' text/javascript吗?

代码是这样的:varscript=document.createElement('script');//script.type='text/javascript';//doIneedthis?script.src=src;document.body.appendChild(script);第二行已经被注释掉了,因为有它没有什么区别。还是我遗漏了什么?谢谢, 最佳答案 否:type的默认值已设置为JavaScript(“text/javascript”)。type属性是SCRIPT标签的属性,例如允许Vbscript,只有IE支持。t

javascript - 如何使用 JavaScript 禁用 &lt;script&gt; 元素

我想禁用标签。这是我的代码,但它不起作用。document.getElementsByTagName('script').disabled=true; 最佳答案 事实上,可以通过改变“type”属性来禁止执行:alert("Iwillalertyou");alert("AndIwillkeepsilent");alert("Iwillalerttoo");http://jsfiddle.net/r6c0x0sc/ 关于javascript-如何使用JavaScript禁用<scri

javascript - TypeScript:类型定义的引用子类型(接口(interface))

我在我的TypScript中使用以下类型:interfaceExerciseData{id:number;name:string;vocabulary:{from:string;to:string;}[];}现在我想创建一个与属性vocabulary类型相同的变量,尝试以下操作:varvocabs:ExerciseData.vocabulary[];但这不起作用。是否有可能以某种方式引用子类型?或者我必须做这样的事情吗?interfaceExerciseData{id:number;name:string;vocabulary:Vocabulary[];}interfaceVocabu

javascript - 字符串以 Google Script 开头

我正在为我们正在进行的一些选举编写数据转换脚本。第一部分将所有名称更改为大写,这部分脚本工作正常。但是,我对脚本的第二部分有疑问。有些ID有S,S123456,有些没有S,123456。出于我的目的,我需要所有ID的开头都没有s。当我在Google中运行此脚本时,它会返回TypeError:CannotfindfunctionstartsWithinobjectS123456.有什么想法吗?functionconvertResponseData(){varresultsInformation=SpreadsheetApp.openById('MySheetID').getSheetBy