Tag: JavaScript

当window.onload被解雇

我有点困惑,当window.onload事件被激发。 例如:我有一个页面,有很多外部js文件,甚至按需加载的脚本(dynamic创build一个标签)。 所有这些代码都在页面中(也就是说,它不会被点击或者失败,它应该在加载时执行)。 现在让我们说,我有最后一个按需javascript的window.onload = somefunction()。 是否有可能在所有脚本实际上被加载之前,window.onload会被触发?

跟踪用户点击浏览器上的button

是否有可能检测到用户点击浏览器的后退button? 我有一个Ajax应用程序,如果我可以检测到用户点击后退button,我可以显示适当的数据 任何使用PHP,JavaScript的解决scheme都是可取的。 地狱在任何语言的解决scheme是好的,只需要我可以翻译成PHP / JavaScript的东西 编辑:从下面剪切和粘贴: 哇,所有优秀的答案。 我想使用雅虎,但我已经使用Prototype和Scriptaculous库,并不想添加更多的Ajax库。 但它使用的iFrames给了我一个很好的指针来写我自己的代码。

如何将PHPvariables值赋给Javascriptvariables?

可能重复: 将PHPvariables传递给Javascript的最佳方式是什么? 我正在使用下面的代码: <script type="text/javascript"> <?php $ctnme = $_SERVER['REQUEST_URI']; $cnme = explode("/",$ctnme); echo $cname = $cnme[1]; ?> var spge = <?php echo $cname; ?> ; alert(spge); </script> 该值不会提醒。 什么错误?

跨浏览器(IE8-)getComputedStyle与Javascript?

由于IE8不支持getComputedStyle ,我们只能使用currentStyle 。 但是,它不会返回某些属性的实际“计算”值。 例如: <style type="text/css"> #div {/* no properties are defined here */} </style> <div id="div">div</div> // returns "medium" instead of 0px document.getElementById('div').currentStyle.borderLeftWidth // returns "auto" instead of 0px document.getElementById('div').currentStyle.marginLeft // returns "undefined" instead of 1 document.getElementById('div').currentStyle.opacity 有没有人有没有使用jQuery或其他Javascript库的所有属性的跨浏览器解决scheme?

从JavaScript读取web.config

有没有什么办法,我可以阅读configuration值在web.config与JavaScript? 我为什么要这样做? 我有一个计时器在我的网站,这将popup一个模式对话框倒数计时器(倒计时2分钟),如果用户不活动20分钟。 如果用户没有回应,则将其注销。 如果他这样做,它会ping服务器(维护会话)并保持会话活着 这15分钟在js文件中被硬编码。 我宁愿要从一个configuration文件/其他文件,而不是硬编码到JS中捡起它 这里是代码片段 $.fn.idleTimeout = function(options) { var defaults = { //I would like to pick these values from some config file inactivity: 900000, //15 minutes noconfirm: 120000, //2 minutes sessionAlive: 900000, //15 minutes click_reset: true, logout_url: '/Views/Pages/Timeout.aspx' } 有什么build议么? 编辑:这是在一个单独的js文件。 执行<%=%>会给出错误“非法XML字符[Break on this error]不活动:<%= ConfigurationManager.AppSettings [”Inactivity“]%>;

监控所有的JavaScript对象属性(魔术获得者和设置者)

如何在JavaScript中模拟PHP风格的__get()和__set()魔术getter / setters? 很多人都说这是不可能的。 我几乎可以肯定,这是可能的,因为像nowjs( http://nowjs.com )这样的项目做这样的事情。 我知道你可以利用get和set ,但是当你不确定属性的名字是什么时,这些不起作用。 例如, 如果您想要在创build新属性时执行事件处理程序,该怎么办? 我想要做的例子: var obj = {}; notify(obj, function(key, value) { //key is now the name of the property being set. //value is the value of the property about to be set console.log("setting " + key + " to " + value); }); obj.foo = 2; […]

ReactJS中this.state和this.setstate的区别是什么?

我想要改变hasSubmit键的值,就像在First Code部分一样。 我知道这不是build议。 但第二个代码是asynchronous的,我不想使用setState的callback函数。 this.state和setState什么区别? 有没有办法改变状态值立即hasSubmit ? 第一个代码: this.state.hasSubmit = false this.setState({}) //Code that will use `hasSubmit`. 第二个代码: this.setState({ hasSubmit: false, }); //Code that will use `hasSubmit`. this.setState({ hasSubmit: false, }); //Code that will use `hasSubmit`. 加: 情况是这样的: hasSubmit在getInitialState()设置为false 。 当我点击submitbutton时, hasSubmit会变成false 。 提交时, hasSubmit将变为true 。 首先点击submit没有问题,并已submit设置为true 。 但是第二次点击submit会错误的使用Second asynchronous code ,因为hasSubmit仍然是true ,而第First Code可以解决问题。

如何确定在JavaScriptanimation循环中使用的最佳“帧率”(setInterval延迟)?

当写JavaScriptanimation时,你当然要用setInterval(或重复的setTimeout)来做一个循环。 但是,在setInterval / setTimeout调用中使用最好的延迟是什么? 在.animate()函数的jQuery API页面中 ,用户“fbogner”说: 只要有人感兴趣:animation是使用setInterval“呈现”,时间为13ms。 这相当快! Chrome可能的最快时间间隔约为10ms。 所有其他浏览器在20-30ms左右“采样”。 任何想法如何jQuery决定使用这个具体的数字? 开始赏金。 我希望有人知道铬或火狐后面的源代码可以提供一些可能支持特定帧率的决定的硬性事实。 或者可能是一个animation(或框架)列表及其延迟。 我相信这是一个有趣的机会做一些研究。 有趣的 – 我只是花时间看看谷歌的吃豆人来源,看看他们做了什么。 他们build立了一系列可能的FPS(90,45,30),从第一个开始,然后每帧检查帧的“缓慢”(帧的数量超过了分配的时间)。 如果慢度超过50毫秒20次,帧速率会下降到列表中的下一个(90-> 45,45 – > 30)。 看起来,帧率从来没有提高,大概是因为游戏是如此短暂,以至于编写代码是不值得的。 哦,setInterval延迟当然设置为1000 /帧率。 他们确实使用setInterval而不是重复的setTimeouts。 我认为这个dynamic帧率function是相当整洁的!

JavaScript YAMLparsing器

我正在寻找一个JavaScript YAMLparsing器,它将YAML转换成HTML页面中可用的东西。 我已经在Github( https://github.com/visionmedia/js-yaml )上试过这个版本,但是它看起来只能用于node.js 我应该使用哪些库,是否有示例代码来显示示例用法?

UTF-8 ArrayBuffer和String之间的转换

我有一个ArrayBuffer ,其中包含使用UTF-8编码的string,我无法find将此类ArrayBuffer转换为JS String (我知道使用UTF-16编码)的标准方法。 我已经在很多地方看到了这个代码,但是我没有看到它是如何处理比1字节长的任何UTF-8代码点的。 return String.fromCharCode.apply(null, new Uint8Array(data)); 同样,我找不到从String转换为UTF-8编码的ArrayBuffer的标准方式。