Tag: JavaScript

如何在Internet Explorer中使用控制台日志logging?

有一个控制台logging器的IE浏览器? 我想logging一堆testing/断言到控制台,但我不能在IE中做到这一点。

在JavaScript中映射vs对象

我刚刚发现了chromestatus.com,在我失去了几个小时之后,发现了这个特性 : 地图:地图对象是简单的键/值地图。 这使我困惑。 普通的JavaScript对象是字典,那么Map与字典有什么不同呢? 从概念上讲,它们是相同的(根据地图和字典之间的区别是什么? ) 文档chromestatus引用不帮助: Map对象是键/值对的集合,其中键和值可以是任意的ECMAScript语言值。 独特的键值可能只发生在Map集合中的一个键/值对中。 使用映射创build时select的比较algorithm进行区分的关键值不同。 一个Map对象可以按照插入顺序迭代它的元素。 Map对象必须使用哈希表或其他机制来实现,平均而言,这些机制提供的访问时间对于集合中元素的数量是次线性的。 这个Map对象规范中使用的数据结构只是用来描述Map对象所需的可观察的语义。 它不是一个可行的实现模型。 …仍然听起来像是一个对象,很显然我错过了一些东西。 为什么JavaScript获得(良好支持的) Map对象? 它有什么作用?

如何确定Javascript数组是否包含具有等于给定值的属性的对象?

我有一个数组像 vendors = [ { Name: 'Magenic', ID: 'ABC' }, { Name: 'Microsoft', ID: 'DEF' } and so on… ]; 如何检查这个数组,看看Magenic是否存在? 我不想循环,除非必须。 我正在处理几千条logging。 更新 由于这是一个受欢迎的post,我以为我会分享我发现的新东西。 看来@CAFxX已经分享了! 我应该更经常阅读这些。 我遇到了https://benfrain.com/understanding-native-javascript-array-methods/ 。 vendors.filter(function(vendor){ return vendor.Name === "Magenic" }); 使用ECMAScript 2015,使用新的箭头function甚至更简单: vendors.filter(vendor => (vendor.Name === "Magenic"));

Chrome扩展程序将外部JavaScript添加到当前页面的HTML

我通过我的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": […]

简单的屏幕抓取使用jQuery

我一直在玩使用jQuery简单的屏幕刮板的想法,我想知道如果以下是可能的。 我有一个简单的HTML页面,并且正在尝试(如果可能的话)从其他页面获取所有列表项的内容,如下所示: 主页: <!– jQuery –> <script type='text/javascript'> $(document).ready(function(){ $.getJSON("[URL to other page]", function(data){ //Iterate through the <li> inside of the URL's data $.each(data.items, function(item){ $("<li/>").value().appendTo("#data"); }); }); }); </script> <!– HTML –> <html> <body> <div id='data'></div> </body> </html> 其他页面: //Html <body> <p><b>Items to Scrape</b></p> <ul> <li>I want to scrape what is here</li> <li>and what […]

检查元素是否在屏幕上可见

可能重复: jQuery – 检查滚动后元素是否可见 我试图确定一个元素是否在屏幕上可见。 为了这个,我试图find元素的垂直位置使用offsetTop,但返回的值是不正确的。 在这种情况下,除非向下滚动,否则元素不可见。 但是,尽pipe如此,当我的屏幕高度是703时,offsetTop返回值为618,所以根据offsetTop元素应该是可见的。 我正在使用的代码如下所示: function posY(obj) { var curtop = 0; if( obj.offsetParent ) { while(1) { curtop += obj.offsetTop; if( !obj.offsetParent ) { break; } obj = obj.offsetParent; } } else if( obj.y ) { curtop += obj.y; } return curtop; } 先谢谢你!

JSON对象在Internet Explorer 8中未定义

目前我正在编写一个JavaScript文件,并有以下行: var res = "JSON=" + JSON.stringify(result); 结果正在这条线上方设置。 我遇到的问题是,只有IE8(即IE8)正在向我报告,JSON是不确定的。 我不知道该怎么做,因为据我所知,IE8是一个实现了JSON支持的浏览器。 有谁知道可能会发生什么事?

FormData.append(“key”,“value”)不起作用

你能告诉我这是什么错误的: var formdata = new FormData(); formdata.append("key", "value"); console.log(formdata); 我的输出看起来像这样,我找不到我的“关键” – “价值”对 FormData *__proto__: FormData **append: function append() { [native code] } ***arguments: null ***caller: null ***length: 0 ***name: "append" ***prototype: append ***__proto__: function Empty() {} *constructor: function FormData() { [native code] } **arguments: null **caller: null **length: 0 **name: "FormData" **prototype: FormData **toString: function […]

什么是优点和缺点:把JavaScript放在头上,并放在身体closures之前

大多数的JavaScript和网页开发的书籍/文章都说,你必须把CSS标签和javascript放在页面底部。 但是当我打开这个着名的网站的html源码,比如这个stackoverflow,我发现他们把一些js文件放在head标签中。 这两种方法的优点和缺点是什么?何时使用? 为同样的问题find另一个问题: 我应该在哪里声明我的页面中使用的JavaScript文件? 在<head> </ head>或附近</ body>?

如何从包含JavaScript中重复的数组中获取唯一值的数组?

给定['0','1','1','2','3','3','3']数组,结果应该是['0','1','2','3'] 。