Tag: JavaScript

检测用window.open打开的窗口的onload事件

window.popup = window.open($(this).attr('href'), 'Ad', 'left=20,top=20,width=500,height=500,toolbar=1,resizable=0'); $(window.popup).onload = function() { alert("Popup has loaded a page"); }; 这在我尝试过的任何浏览器(IE,Firefox,Chrome)中都不起作用。 我怎样才能检测到一个页面加载到窗口(如iframe onload)?

有没有非eval的方式来创build一个运行时确定的名字的函数?

有没有什么办法可以创build一个真正的名字 ,在运行时确定的eval ,而不使用eval ,只使用纯JavaScript? (因此,没有生成script元素,因为这些元素是特定于浏览器环境的[在许多方面总是会变相评价];不使用某个特定JavaScript引擎的非标准function等) 请注意,我特别不会询问具有名称的variables或属性引用的匿名函数,例如: // NOT this var name = /* …come up with the name… */; var obj = {}; obj[name] = function() { /* … */ }; 在那里,虽然对象属性有一个名字,但函数没有。 匿名函数适用于很多事情,但不是我在这里寻找的东西。 我希望函数有一个名称(例如,在debugging器中的调用堆栈中显示等)。

如何让ng-bind-html编译angularjs代码

我正在使用angularjs 1.2.0-rc.3。 我想dynamic地将HTML代码包含到模板中。 为此,我在控制器中使用: html = "<div>hello</div>"; $scope.unicTabContent = $sce.trustAsHtml(html); 在我得到的模板中: <div id="unicTab" ng-bind-html="unicTabContent"></div> 它正常工作正常的HTML代码。 但是,当我试图把angular模板不解释,它只是包括在页面中。 例如,我想包括: <div ng-controller="formCtrl"> <div ng-repeat="item in content" ng-init="init()"> </div> </div> 非常感谢

如何在iframe上设置“X-Frame-Options”?

如果我这样创build一个iframe : var dialog = $('<div id="' + dialogId + '" align="center"><iframe id="' + frameId + '" src="' + url + '" width="100%" frameborder="0" height="'+frameHeightForIe8+'" data-ssotoken="' + token + '"></iframe></div>').dialog({ 我该如何解决这个错误: 拒绝在框架中显示'https://www.google.com.ua/?gws_rd=ssl' ,因为它将“X-Frame-Options”设置为“SAMEORIGIN”。 用JavaScript?

我如何构build一个JSON对象发送到AJAX WebService?

在尝试用JavaScript手动格式化我的JSON数据并且失败后,我意识到可能有更好的方法。 以下是C#中的Web服务方法和相关类的代码: [WebMethod] public Response ValidateAddress(Request request) { return new test_AddressValidation().GenerateResponse( test_AddressValidation.ResponseType.Ambiguous); } … public class Request { public Address Address; } public class Address { public string Address1; public string Address2; public string City; public string State; public string Zip; public AddressClassification AddressClassification; } public class AddressClassification { public int Code; public string Description; […]

在JavaScript中重载算术运算符?

考虑到这个JavaScript的“类”定义,这是我能想到的最好的方法: var Quota = function(hours, minutes, seconds){ if (arguments.length === 3) { this.hours = hours; this.minutes = minutes; this.seconds = seconds; this.totalMilliseconds = Math.floor((hours * 3600000)) + Math.floor((minutes * 60000)) + Math.floor((seconds * 1000)); } else if (arguments.length === 1) { this.totalMilliseconds = hours; this.hours = Math.floor(this.totalMilliseconds / 3600000); this.minutes = Math.floor((this.totalMilliseconds % 3600000) / […]

Javascript(+)符号连接,而不是给variables的总和

为什么当我使用这个(假设i = 1 ) divID = "question-" + i+1; 我得到问题11,而不是问题2 ?

传递函数setTimeout在循环中:总是最后一个值?

我试图使用setTimeout来执行一个匿名函数,我传递的信息,我有麻烦。 这(硬编码版本)将工作得很好: setTimeout(function(){alert("hello");},1000); setTimeout(function(){alert("world");},2000); 但是我试图从数组中取出hello和world,并且不用(a)使用全局variables将它们传递给函数,(2)使用eval。 我知道如何使用全局variables或eval来做到这一点,但是我怎样才能做到这一点。 这是我想做的事情(但我知道这是行不通的): var strings = [ "hello", "world" ]; var delay = 1000; for(var i=0;i<strings.length;i++) { setTimeout( function(){alert(strings[i]);}, delay); delay += 1000; } 当然,string[i]将脱离上下文。 如何将string[i]传递给匿名函数而不用eval或全局variables?

生成加权随机数

我试图devise一个(好)的方式来从一个可能的数字范围内select一个随机数字,范围中的每个数字都被赋予一个权重。 简单地说:给定数字范围(0,1,2)select一个数字,其中0有80%的概率被选中,1有10%的几率,2有10%的几率。 从我的大学统计课程开始已经有8年了,所以你可以想象现在正确的方法逃脱了我。 这是我提出的“廉价和肮脏”的方法。 该解决scheme使用ColdFusion。 你可以使用任何你想要的语言。 我是程序员,我想我可以处理它。 最终,我的解决scheme需要在Groovy中 – 我在ColdFusion中编写了这个解决scheme,因为它很容易在CF中编写/testing。 public function weightedRandom( Struct options ) { var tempArr = []; for( var o in arguments.options ) { var weight = arguments.options[ o ] * 10; for ( var i = 1; i<= weight; i++ ) { arrayAppend( tempArr, o ); } } return tempArr[ […]

Javascript函数将颜色名称转换为hex代码

是否有一个内置的函数,将颜色名称转换为hex表示? 就像我想通过“白色”,并收到“#FFFFFF”。 我真的想避免编码所有的百如果是我自己:)