Tag: JavaScript

similar_text是如何工作的?

我刚刚find了similar_text函数,并且正在玩弄它,但是百分比输出总是令我惊讶。 看下面的例子。 我试图find在php上提到的algorithm使用的相关信息: similar_text() Docs : <?php $p = 0; similar_text('aaaaaaaaaa', 'aaaaa', $p); echo $p . "<hr>"; //66.666666666667 //Since 5 out of 10 chars match, I would expect a 50% match similar_text('aaaaaaaaaaaaaaaaaaaa', 'aaaaa', $p); echo $p . "<hr>"; //40 //5 out of 20 > not 25% ? similar_text('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', 'aaaaa', $p); echo $p . "<hr>"; //9.5238095238095 […]

Angular Cli Webpack,如何添加或捆绑外部js文件?

在将Angular Cli从SystemJs切换到Webpack之后,我不确定如何包含JS文件(供应商)。 例如 选项A 我有一些通过npm安装的js文件。 像这样将脚本标记添加到头标记不起作用。 也不是最好的方式。 <head> <script src="node_modules/some_package/somejs.js"> </head> //With systemJs I could do this <head> <script src="vendor/some_package/somejs.js"> </head> 选项B 包含这些js文件作为webpack包的一部分。 这似乎是可能应该完成的方式。 然而,我不知道如何做到这一点,因为所有的webpack conig似乎都隐藏在angular-cli-webpack软件包的后面。 我想也许有另一个webpackconfiguration,我们可能有权访问。 但是我不确定,因为在创build一个新的angular-cli-webpack项目时我没有看到它。 更多信息: 我想包含的js文件需要包含在Angular项目之前。 例如jQuery和第三方js库,这不是真的为模块加载或打字机设置。 参考资料 https://github.com/angular/angular-cli/blob/master/WEBPACK_UPDATE.md https://github.com/angular/angular-cli/tree/webpack

检测图像无法在Javascript中加载的情况

有没有一种方法来确定图像path是否会导致实际的图像,也就是说,检测图像无法在Javascript中加载时。 对于Web应用程序,我parsingXML文件,并从图像path列表dynamic创buildHTML图像。 某些图像path可能不再存在于服务器上,因此我想通过检测哪些图像无法加载并删除该HTML img元素来优雅地失败。 注意JQuery解决scheme不能被使用(老板不想使用JQuery,是的,我知道不让我开始)。 我知道在JQuery中的一种方式来检测图像何时加载,而不是它是否失败。 我的代码来创buildimg元素,但我如何检测imgpath导致加载失败的图像? var imgObj = new Image(); // document.createElement("img"); imgObj.src = src;

parsingJSON比parsingXML更快

我正在创build一个复杂的JavaScript库来处理我公司的服务器端框架。 服务器端框架将其数据编码为简单的XML格式。 没有花哨的命名空间或类似的东西。 理想情况下,我想将浏览器中的所有数据parsing为JSON。 但是,如果我这样做,我需要重写一些服务器端代码也吐出JSON。 这是一个痛苦,因为我们有公共的API,我不能轻易改变。 我真正关心的是浏览器中parsingJSON和XML的性能。 真的有很大的不同吗? 还是应该专门去JSON? 有没有人有任何经验或在两者之间的性能差异的基准? 我意识到,大多数现代Web开发人员可能会selectJSON,我可以看到为什么。 不过,我真的只是performance感兴趣。 如果有一个certificate巨大的差异,那么我准备花费额外的精力为客户端生成JSON服务器端。

在集合js上设置属性

骨干js中的set不允许你set属性,但是我经常发现需要存储关于集合的一些元信息。 哪里是最好的地方来设置这些信息?

如何按类名得到子元素?

我试图得到具有class = 4的子跨度。下面是一个示例元素: <div id="test"> <span class="one"></span> <span class="two"></span> <span class="three"></span> <span class="four"></span> </div> 我有可用的工具是JS和YUI2。 我可以做这样的事情: doc = document.getElementById('test'); notes = doc.getElementsByClassName('four'); //or doc = YAHOO.util.Dom.get('#test'); notes = doc.getElementsByClassName('four'); 这些在IE中不起作用。 我得到一个错误,对象(doc)不支持这个方法或属性(getElementsByClassName)。 我已经尝试了一些getElementsByClassName的跨浏览器实现的例子,但我无法让他们工作,仍然有这个错误。 我想我需要的是跨浏览器getElementsByClassName或我需要使用doc.getElementsByTagName('span')并循环直到我find类4.我不知道如何做到这一点,虽然。

我想要在特定的时间后加载另一个HTML页面

我有一个HTML页面“form1.html”,它有一个animation图像。 我想在5秒后加载另一个页面“form2.html”。 我该怎么做呢?

如果在ajax调用期间显示警告窗口,会发生什么情况?

我只是想知道如果在执行ajax调用时会在浏览器窗口中向用户发出提示,会发生什么情况。 比方说,我有一个Ajax调用 $.ajax({ url: …, type: GET/POST, … success: function(data){ console.log(data); }, error: … }); 需要很长时间才能完成(10秒)。 当调用被执行时,会引发一个简单的javascript警报 alert("hello!"); 以下情况会发生什么情况: ajax调用开始 ajax调用获取数据 显示警报 ajax调用返回数据(警报窗口仍然打开!) 知道JS是单线程的我知道脚本执行将停止,我只是想知道如果没有及时closures警报窗口,ajax调用/响应会发生什么。 我希望我很清楚,这不是一个“虚拟”的问题。 谢谢

从网页导航时发出警报

当我尝试closures我的Google文档选项卡时未保存更改时,这是我在浏览器中获得的(FF 3.5)。 你确定要离开这个页面? 您在此文档中有未保存的更改。 点击立即取消,然后点击“保存”保存。 单击确定现在放弃它们。 按OK继续,或取消保留在当前页面上。 我的问题是这样的警报是否是networking应用程序的一部分(例如gdocs),还是由浏览器发出? 如果是后者,这是如何完成的?

如何订阅Angular2中的服务事件?

我知道如何通过EventEmitter举办一个活动。 如果我有一个这样的组件,我也可以附加一个被调用的方法: <component-with-event (myevent)="mymethod($event)" /> 当我有这样的组件,一切都很好。 我把一些逻辑转移到一个服务中,我需要从服务内部引发一个事件。 我做的是这样的: export class MyService { myevent: EventEmitter = new EventEmitter(); someMethodThatWillRaiseEvent() { this.myevent.next({data: 'fun'}); } } 我有一个组件需要更新一些基于这个事件的价值,但我似乎无法使其工作。 我试过的是这样的: //Annotations… export class MyComponent { constructor(myService: MyService) { //myService is injected properly and i already use methods/shared data on this. myService.myevent.on(… // 'on' is not a method <– not working […]