我有一个JavaScript文件,读取另一个文件,可能包含需要eval()编辑的JavaScript片段。 脚本片段应该符合严格的JavaScript子集,限制了他们可以做什么以及哪些variables可以更改,但是我想知道是否有某种方法可以通过阻止eval在全局范围中看到variables来强制执行此操作。 像下面这样: function safeEval( fragment ) { var localVariable = g_Variable; { // do magic scoping here so that the eval fragment can see localVariable // but not g_Variable or anything else outside function scope eval( fragment ); } } 实际的代码不需要看起来像这样 – 我打开任何和所有怪异的技巧与闭包等,但我想知道这是甚至可能的 。
我想在一些文本框条目上运行JavaScript用户validation。 我遇到的问题是,我的表单有进入我们的网站内的新页面的行动,并且onsubmit属性从不运行javascript函数。 有没有更好的解决scheme,或者与下面的代码一起工作:注意:如果您将操作切换到checkRegistration()那么javascript文件将被正确写入并且有效。 这只是一个问题,同时运行的动作和JavaScript。 <form name="registerForm" action="validate.html" onsubmit="checkRegistration()" method="post"> <!– textboxes here –> <!– and submit button –> </form>
除了主观视觉和在同一行上有多个语句的情况之外,是否有任何理由在JavaScript语句的末尾使用分号? 看起来有很多证据表明分号的使用是非常可选的,并且只在less数特定情况下才需要。
我有一个JavaScript函数,我想返回返回方法后得到的值。 比解释更容易看 function getValue(file){ var val; lookupValue(file).then(function(res){ val = res.val; } return val; } 用诺言来做这件事的最好方法是什么? 据我了解, return val将返回之前lookupValue已经完成了,但我不能return res.val ,因为它只是从内部函数返回。
var test = "test123" var test123 ={ "key" + test: 123 } 此代码不起作用。 “钥匙”+testing有什么问题?
我正在使用下面的代码示例菜单。 <html> <head> <title>Tree Demo</title> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="jquery.jstree.js"></script> <script type="text/javascript"> $(document).ready(function() { /* $("#main").jstree({ "themes" : { "theme" : "default", "dots" : false, "icons" : false }, "plugins" : [ "themes", "json_data", "ui"], "json_data" : { "ajax" : { "url" : "jsondata.json", "data" : function (n) { return { id : n.attr […]
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> <script language="javascript"> function main(){ var canvas = document.getElementById("canvas"); canvas.addEventListener("mousemove", function(e){ if (!e) e = window.event; var ctx = canvas.getContext("2d"); var x = e.offsetX; var y = e.offsetY; ctx.fillRect(x, y, 1, 1); }); } </script> </head> <body onload="main();"> <div […]
我已经search了网页,但是所有可用的网页都是您指定date的地方,并且倒数到了该date。 我需要的只是从“27分43秒”(以这种格式)到从0到任何时候从页面上下来的任何东西,任何人有任何片段可用?
我希望我的for循环不应该立即执行,但每次迭代后等待超时。 例如: for(var i=0; i<10; i++) { console.log(i); //wait for 1000 } 我发现像这样的堆溢出许多解决scheme: for (var i=0;i<=10;i++) { (function(ind) { setTimeout(function(){console.log(ind);}, 3000); })(i); } 但是在所有的实现中,循环最初等待3000,然后一次执行整个循环。 是否有一种方法,每个迭代在等待1000之后被调用。
我创build了一个java类的内容方法返回一个string,我的问题是如何在我的JavaScript代码中调用这个函数来使用从java方法返回的值。 我想调用embedded在浏览器中的客户端Java代码。 这里是我在说什么的例子: 在我的网页我有一个JavaScript代码,这里是一些: function createChartControl(htmlDiv1) { // Initialize Gantt data structures //project 1 var parentTask1 = new GanttTaskInfo(1, "Old code review", new Date(2010, 5, 11), 208, 50, ""); …………………. 我想创build一个java类的内容方法来提供数据到这个javascript函数“GanttTaskInfo”。 例如获取名字的函数,获取id和date。 以及我认为这个时间即时通讯清楚:D我search的方式来调用JavaScript中的Java方法,我发现小程序,如你所说,但我认为它对我没有用。 再次感谢