Questions tagged «javascript»

有关在ECMAScript(JavaScript / JS)及其各种方言/实现(不包括ActionScript)中进行编程的问题。此标记很少单独使用,但最常与标记[node.js],[jquery],[json]和[html]关联。

15
要在JavaScript中转义HTML实体?
我有一些与XML-RPC后端通信的Javascript代码。XML-RPC返回以下形式的字符串: <img src='myimage.jpg'> 但是,当我使用Javascript将字符串插入HTML时,它们将按字面显示。我没有看到图片,而是从字面上看到了字符串: <img src='myimage.jpg'> 我的猜测是HTML正在通过XML-RPC通道进行转义。 如何取消对Javascript中的字符串的转义?我尝试了此页面上的技术,但未成功:http : //paulschreiber.com/blog/2008/09/20/javascript-how-to-unescape-html-entities/ 还有什么其他方法可以诊断问题?

9
ReferenceError:提取未定义
在node.js中编译代码时出现此错误,该如何解决? RefernceError:提取未定义 这是我正在执行的功能,它负责从特定的电影数据库中恢复信息。 function getMovieTitles(substr){ pageNumber=1; let url = 'https://jsonmock.hackerrank.com/api/movies/search/?Title=' + substr + "&page=" + pageNumber; fetch(url).then((resp) => resp.json()).then(function(data) { let movies = data.data; let totPages = data.total_pages; let sortArray = []; for(let i=0; i<movies.length;i++){ sortArray.push(data.data[i].Title); } for(let i=2; i<=totPages; i++){ let newPage = i; let url1 = 'https://jsonmock.hackerrank.com/api/movies/search/?Title=' + …

23
如何解决错误;'错误:Bootstrap工具提示需要Tether(http://github.hubspot.com/tether/)'
我正在使用Bootstrap V4,控制台中记录了以下错误; 错误:Bootstrap工具提示需要系绳(http://github.hubspot.com/tether/) 我试图通过安装Tether来消除错误,但没有成功。我通过包含以下代码行来“安装” Tether; <link rel="stylesheet" href="http://www.atlasestateagents.co.uk/css/tether.min.css"> <script src="http://www.atlasestateagents.co.uk/javascript/tether.min.js"></script> 我是否正确“安装”了系绳? 谁能帮助我消除此错误? 如果您想在我的网站上查看错误,请单击此处并加载控制台。

10
ESRI:无法解析源地图
我在Google chrome开发者控制台中收到此错误。 无法解析SourceMap: http:// localhost:15132 / Scripts / _External / igniteui / css / themes / infragistics / infragistics.theme.css.map 我如何解决它?
176 javascript  esri 

9
上传前如何使用javascript检查文件MIME类型?
我已阅读这个和这个问题,这似乎表明,文件的MIME类型可以使用在客户端的JavaScript进行检查。现在,我知道真正的验证仍然必须在服务器端进行。我想执行客户端检查以避免不必要的服务器资源浪费。 为了测试是否可以在客户端执行此操作,我将JPEG测试文件的扩展名更改为,.png然后选择要上传的文件。发送文件之前,我使用JavaScript控制台查询文件对象: document.getElementsByTagName('input')[0].files[0]; 这是我在Chrome 28.0上得到的: 文件{webkitRelativePath:“”,lastModifiedDate:2012年10月16日星期二10:00:00 GMT + 0000(UTC),名称:“ test.png”,类型:“ image / png”,大小:500055…} 它显示类型image/png,似乎表明检查是基于文件扩展名而不是MIME类型进行的。我尝试了Firefox 22.0,它给了我相同的结果。但是根据W3C规范,应该实施MIME嗅探。 我是说对了,目前无法用javascript检查MIME类型吗?还是我错过了什么?


9
正则表达式以获取Java括号中的字符串
我正在尝试编写一个正则表达式,该表达式返回括号之间的字符串。例如:我想获取位于字符串“(”和“)”之间的字符串 I expect five hundred dollars ($500). 会回来 $500 找到正则表达式以获取Javascript中两个字符串之间的字符串 但是我对regex并不陌生。我不知道如何在正则表达式中使用'(',')'
176 javascript  regex  string 


7
Moment.js中的弃用警告-不是公认的ISO格式
我收到警告,提示提供的值不是公认的ISO格式。我今天用矩函数更改了变量,但仍然无法正常工作。 这是警告错误: 弃用警告:提供的值不是公认的ISO格式。此刻的构建要归结到js Date(),它在所有浏览器和版本中都不可靠。不鼓励使用非ISO日期格式,并将在即将发布的主要版本中将其删除。请参阅http://momentjs.com/guides/#/warnings/js-date/了解更多信息。参数:[0] _isAMomentObject:true,_isUTC:true,_useUTC:true,_l:未定义,_i:2016-9-26 19:30,_f:未定义,_strict:未定义,_locale:[对象Object] var entryDate = new Date(); var currentDate = entryDate.getDate(); function between(x, min, max) { return x.valueOf() >= min.valueOf() && x < max.valueOf(); } $('#custom1').change(function () { if ($('#custom1 :selected').val() == 'AU') { var keyword = ''; var aus1_s = moment.tz('2016-9-26 19:30', 'Australia/Sydney'); var aus2_s …


5
如何在运行JavaScript文件的package.json文件中添加自定义脚本?
我希望能够script1在将要运行的项目目录中执行命令node script1.js。 script1.js是同一目录中的文件。该命令必须特定于项目目录,这意味着如果我将项目文件夹发送给其他人,他们将能够运行相同的命令。 到目前为止,我尝试添加: "scripts": { "script1": "node script1.js" } 到我的package.json文件,但是当我尝试运行时script1,得到以下输出: zsh: command not found: script1 有谁知道将上述脚本添加到项目文件夹的必要步骤? *注意:该命令不能添加到bash配置文件中(不能是计算机专用命令) 如果您需要任何说明,请告诉我。

10
标签或窗口之间的通讯
我正在寻找一种方法,如何在浏览器中的多个选项卡或窗口之间进行通信(在同一域中,而不是在CORS上)而不会留下痕迹。有几种解决方案: 使用窗口对象 postMessage 饼干 本地存储 第一个可能是最糟糕的解决方案-您需要从当前窗口中打开一个窗口,然后您只有在保持打开状态的情况下才能进行通信。如果您在任何窗口中重新加载页面,则很可能失去了通信。 使用postMessage的第二种方法可能启用了跨域通信,但是遇到了与第一种方法相同的问题。您需要维护一个窗口对象。 第三种方法,使用cookie,将一些数据存储在浏览器中,这实际上看起来像是向同一域中的所有窗口发送消息,但是问题是您永远无法知道所有选项卡之前是否都已读取“消息”打扫干净。您必须实现某种超时才能定期读取Cookie。此外,您受到最大Cookie长度(4KB)的限制。 第四个解决方案,使用localStorage,似乎克服了cookie的限制,甚至可以监听事件。可接受的答案中描述了如何使用它。 编辑2018:可接受的答案仍然有效,但是对于现代浏览器来说,有一个更新的解决方案可以使用BroadcastChannel。请参阅其他答案,以获取一个简单的示例,该示例描述了如何使用BroadcastChannel在选项卡之间轻松地传输消息。

9
ReactJS:最大更新深度超出错误
我试图在ReactJS中切换组件的状态,但出现错误: 超过最大更新深度。当组件重复调用componentWillUpdate或componentDidUpdate内部的setState时,可能会发生这种情况。React限制了嵌套更新的数量,以防止无限循环。 我在代码中看不到无限循环,有人可以帮忙吗? ReactJS组件代码: import React, { Component } from 'react'; import styled from 'styled-components'; class Item extends React.Component { constructor(props) { super(props); this.toggle= this.toggle.bind(this); this.state = { details: false } } toggle(){ const currentState = this.state.details; this.setState({ details: !currentState }); } render() { return ( <tr className="Item"> <td>{this.props.config.server}</td> <td>{this.props.config.verbose}</td> …


10
如果我尚未通过bind或click绑定事件处理程序,是否可以调用jquery click()跟随<a>链接?
我的JavaScript中有一个计时器,该计时器需要模拟时间流逝后单击链接以转到另一个页面。为此,我使用了jQuery的click()功能。我已经用过了$().trigger(),window.location也可以使用,并且我可以使这三个都按预期工作。 我观察到一些奇怪的行为,click()并且试图了解会发生什么以及为什么。 我在这个问题中描述的所有内容都使用了Firefox,但我也对其他浏览器将如何使用它感兴趣。 如果我没有使用过$('a').bind('click',fn)或未$('a').click(fn)设置事件处理程序,则调用$('a').click()似乎根本不起作用。它不会为此事件调用浏览器的默认处理程序,因为浏览器不会加载新页面。 但是,如果我先设置一个事件处理程序,那么即使该事件处理程序不执行任何操作,它也可以按预期工作。 $('a').click(function(){return true;}).click(); 这将加载新页面,就像我自己单击a一样。 所以我的问题是双重的:这是怪异的行为,因为我在某处做错了什么吗?click()如果我还没有创建自己的处理程序,为什么调用对默认行为不起作用? 编辑: 正如霍夫曼确定何时尝试复制我的结果时,上述我所说的结果实际上并没有发生。我不确定是什么导致了昨天观察到的事件,但是今天我可以肯定,这不是我在问题中所描述的。 因此,答案是您不能在浏览器中“伪造”单击,而jQuery所做的只是调用事件处理程序。您仍然可以使用window.location更改页面,对我来说效果很好。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.