我在博客文章和教程中看到了"RJS"和"RJS模板".我做了一个搜索,但我仍然不确定.它是Rails特有的技术,而不是像JSON或YAML这样的标准吗?
我知道它用于"生成JavaScript".它是否生成了需要Prototype和Scriptaculous库的通用JS或Rails特定的JS?
有没有办法只运行一段JavaScript代码ONCE,而不使用布尔标志变量来记住它是否已经运行过?
特别是不是这样的:
var alreadyRan = false;
function runOnce() {
if (alreadyRan) {
return;
}
alreadyRan = true;
/* do stuff here */
}
Run Code Online (Sandbox Code Playgroud)
我将有很多这些类型的功能,并保持所有布尔将是凌乱的......
为什么以下代码显示undefined
?我们不允许创建具有单个值的数组吗?放置两个值不会显示此错误.这是Javascript的问题吗?
<script>
var tech = new Array(21);
alert(tech[0]);
</script>
Run Code Online (Sandbox Code Playgroud) 我目前有这个代码来创建一个Web Worker:
w = new Worker("webwork.js");
w.onmessage = function(event) { alert(event.data); }
Run Code Online (Sandbox Code Playgroud)
然后是webwork.js
Web Worker 的代码:
self.onmessage = function(event) {
//var ss=r; //Causes error because of undefined
var ss="";
for(var currProp in event) {
ss+=("event."+currProp+"="+event[currProp]+"\n");
}
postMessage(ss);
}
Run Code Online (Sandbox Code Playgroud)
现在我想ArrayBuffer
用这段代码传输128兆字节:
var r = new ArrayBuffer(1048576*128);
w.postMessage(0, [r]);
Run Code Online (Sandbox Code Playgroud)
既然我已经转移了变量r
,我该如何从Web Worker本身访问它.我已经试过event.r
,只是r
,self.r
和喜欢尝试添加第二个函数参数为数组其他东西ArrayBuffers
,但没有任何工程.
如何从Web Worker访问传输的变量?
我创建了一个JavaScript变量,当我点击按钮时它应该增加1,但它没有发生.
这是manifest.json
.
{
"name":"Facebook",
"version":"1.0",
"description":"My Facebook Profile",
"manifest_version":2,
"browser_action":{
"default_icon":"google-plus-red-128.png",
"default_popup":"hello.html"
}
}
Run Code Online (Sandbox Code Playgroud)
这是html页面的代码
<!DOCTYPE html>
<html>
<head>
<script>
var a=0;
function count()
{
a++;
document.getElementById("demo").innerHTML=a;
return a;
}
</script>
</head>
<body>
<p id="demo">=a</p>
<button type="button" onclick="count()">Count</button>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
我希望扩展程序向我显示a的值,并在每次单击扩展名或按钮时将其递增1
javascript google-chrome button google-chrome-extension content-security-policy
这是我的HTML:
<a>View it in your browser</a>
<div id="html">
<h1>Doggies</h1>
<p style="color:blue;">Kitties</p>
</div>
Run Code Online (Sandbox Code Playgroud)
如何使用JavaScript来使href
我的链接点的属性base64编码的网页,其来源是innerHTML
的div#html
?
我基本上想要在这里完成相同的转换(选中base64复选框),但在JavaScript中除外.
我们有一个依赖原型的遗留代码的应用程序,但是我们发现它对于我们想要使用它的大多数地方来说太"沉重",并且发现jQuery更适合我们的工作方式.所以我们正在迁移到jQuery以获得新功能.
与此同时,我们有几个页面需要加载两个库:
<script language="javascript" type="text/javascript"
src="prototype-1.5.1.2.js"></script>
<script language="javascript" type="text/javascript"
src="jquery-1.3.2.js"></script>
<script language="javascript" type="text/javascript">
$j = jQuery.noConflict();
</script>
Run Code Online (Sandbox Code Playgroud)
(注意原型的旧版本,我们发现升级时出现的问题,无论如何我们都不想修复它们)
这适用于IE6,IE7,IE8-as-7和FX3,但在Chrome中加载它并且所有jQuery内容都失败了.
加载开发人员javascript控制台会显示以下错误:
Uncaught Error: NOT_SUPPORTED_ERR: DOM Exception 9 http://.../prototype-1.5.1.2.js (line 1272)
Uncaught TypeError: Object #<an Object> has no method 'ready' http://.../lib.js (line 161)
Uncaught TypeError: Object #<an Object> has no method 'slideUp' http://.../page.aspx (line 173)
... and so on - all the failures are missing jQuery methods
Run Code Online (Sandbox Code Playgroud)
所以这看起来像原型中的冲突导致jQuery对象的创建失败.
特定的原型问题似乎是Prototype.BrowserFeatures.XPath,当它不应该是真的时,因为不支持XPath document.evaluate.
好的,现在重新加载页面,打开javascript控制台 - 一切正常!WTF?关闭控制台,重新加载,然后再次失败.
只有在没有打开javascript控制台的情况下发生页面加载时才会发生故障 - 为什么会有任何区别?这看起来非常像Chrome中的错误.
有谁能解释出了什么问题?为什么原型中的错误会导致jQuery init失败?为什么在打开控制台的情况下加载页面会使其工作?
有人知道一个好的解决方法吗?(除了升级到prototype-1.6.0.3.js之外,它修复了这个问题,但在其他地方打破了遗留代码的负载)
我想得到某个标签的名称(告诉它是否为div/input/span/p/so)
我发现有3个不同的属性给我标签名称:
tagName
,nodeName
和localName
我的问题是:哪一个在所有浏览器中最受支持?和/或是否有一种方法来获取Prototype中的标签名称(我看了但找不到)?
看看微小的Facebook图标如何位于右下角的另一个图像上?
如何使用HTML/CSS/Rails/Prototype组合来做到这一点!?一个例子就是很棒.也许在jsfiddle.net.
我通过Chrome扩展程序在页面末尾添加了一些外部JavaScript.然后外部JavaScript尝试将一些数据发布回服务器,但是没有发生.
JavaScript希望获取当前页面和引用者的URL并将其发回服务器.
任何人都可以请教我这里有什么问题,如果不可能这样我怎样才能将数据从当前页面发回服务器.
的manifest.json
{
"name": "Website Safety",
"version": "1.0",
"manifest_version": 2,
"description": "The Website Safety Extension.",
"browser_action": {
"name": "View the website information for ",
"default_icon": "icon.png",
"default_popup": "popup.html"
},
"permissions": [
"tabs", "http://*/*", "https://*/*"
],
"background": {
// "scripts": ["refresh.js"]
"page": "background.html"
},
"content_security_policy": "script-src 'self' https://ssl.google-analytics.com; object-src 'self'",
//"background_page": "background.html"
"content_scripts": [
{
"matches": ["<all_urls>"],
"js": ["contentScript.js"]
}
]
}
Run Code Online (Sandbox Code Playgroud)
现在是contentScript.js
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-31046309-1']);
_gaq.push(['_setAllowLinker', true]);
_gaq.push(['_trackPageview']);
(function() {
var ga = …
Run Code Online (Sandbox Code Playgroud) javascript dom google-analytics google-chrome-extension content-script
javascript ×7
html ×3
prototypejs ×3
ajax ×1
arrays ×1
base64 ×1
button ×1
conflict ×1
css ×1
data-uri ×1
dom ×1
image ×1
jquery ×1
optimization ×1
rjs ×1
transferable ×1
url ×1
web-worker ×1