Questions tagged «javascript»

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

30
打印对话框关闭后自动关闭窗口
用户单击按钮时,我会打开一个选项卡。在“onload我”上,它显示了“打印”对话框,但是用户问我,是否有可能在将选项卡关闭后将其发送到打印机进行打印。我不确定是否可以做到。我尝试使用setTimeout();,但是由于用户可能会分心并不得不重新打开该选项卡,因此未定义时间段。有什么办法可以做到这一点?


6
从<输入文件>将图像加载到<img>
我正在尝试加载用户通过元素选择的图像。 我向输入元素添加了一个onchange事件处理程序,如下所示: &lt;input type="file" name="picField" id="picField" size="24" onchange="preview_2(this);" alt=""/&gt; 而Preview_2函数为: var outImage ="imagenFondo"; function preview_2(what){ globalPic = new Image(); globalPic.onload = function() { document.getElementById(outImage).src = globalPic.src; } globalPic.src=what.value; } 其中outImage具有标签的ID值,我要在其中加载新图片。 但是,似乎永远不会发生onload,并且不会向html加载任何内容。 我该怎么办?
86 javascript  html 

3
componentDidMount在引用回调之前被调用
问题 我正在ref使用内联函数定义设置反应 render = () =&gt; { return ( &lt;div className="drawer" ref={drawer =&gt; this.drawerRef = drawer}&gt; 然后在componentDidMountDOM引用中未设置 componentDidMount = () =&gt; { // this.drawerRef is not defined 我的理解是,ref回调应在安装期间运行,但是在ref回调函数之前调用添加console.log语句揭示。componentDidMount 例如,我看过的其他代码示例在github上的讨论都表明相同的假设,componentDidMount应该在中定义的任何回调之后ref调用render,甚至在对话中也要说明 那么在所有的ref回调都执行完之后,componentDidMount是否被触发? 是。 我正在使用反应15.4.1 我尝试过的其他事情 为了验证该ref函数是否已被调用,我尝试在类上将其定义为 setDrawerRef = (drawer) =&gt; { this.drawerRef = drawer; } 然后在 render &lt;div className="drawer" ref={this.setDrawerRef}&gt; 在这种情况下,控制台记录显示回调确实在之后被调用 componentDidMount

7
NodeJs:TypeError:require(…)不是一个函数
我试图要求一个文件,然后将其传递给var。我正在按照本教程创建身份验证系统。编写server.js文件并尝试编译后,出现bson错误,因此我更改了需要它的发行版本的猫鼬代码。 这是我的代码和错误: server.js require('./app/routes')(app, passport); 错误 require('./app/routes')(app, passport); ^ TypeError: require(...) is not a function at Object.&lt;anonymous&gt; (d:\Node JS learning\WorkWarV2\server.js:38:24) at Module._compile (module.js:434:26) at Object.Module._extensions..js (module.js:452:10) at Module.load (module.js:355:32) at Function.Module._load (module.js:310:12) at Function.Module.runMain (module.js:475:10) at startup (node.js:117:18) at node.js:951:3 Process finished with exit code 1 我已经读到这通常意味着requireJS无法正确加载,但我不知道为什么或如何修复它。 根据评论进行编辑: 根据要求,这是console.log(require);

4
在React中动态添加子组件
我的目标是在页面/父组件上动态添加组件。 我从这样的一些基本示例模板开始: main.js: var App = require('./App.js'); var SampleComponent = require('./SampleComponent.js'); ReactDOM.render(&lt;App/&gt;, document.body); ReactDOM.render(&lt;SampleComponent name="SomeName"/&gt;, document.getElementById('myId')); App.js: var App = React.createClass({ render: function() { return ( &lt;div&gt; &lt;h1&gt;App main component! &lt;/h1&gt; &lt;div id="myId"&gt;myId div&lt;/div&gt; &lt;/div&gt; ); } }); SampleComponent.js: var SampleComponent = React.createClass({ render: function() { return ( &lt;div&gt; &lt;h1&gt;Sample …

7
我可以使用webpack分别生成CSS和JS吗?
我有: 我要捆绑的JS文件。 我想编译为CSS的LESS文件(将@imports解析为一个包)。 我希望将它们指定为两个单独的输入,并具有两个单独的输出(可能通过extract-text-webpack-plugin)。Webpack具有所有合适的插件/加载器来进行编译,但似乎不喜欢这种分离。 我已经看到了一些人的示例,这些人直接从JS需要他们的LESS文件,例如require('./app.less');,其原因仅是告诉Webpack将这些文件包含到捆绑包中。这只允许您只有一个入口点,但对我来说似乎真的很不对劲-为什么当与我的JS代码无关的情况下,为什么我的JS中需要LESS? 我尝试使用多个入口点,将入口JS和主LESS文件都交到其中,但是当使用多个入口点时,webpack会生成一个在加载时不执行JS的捆绑软件-捆绑了所有东西,但不知道在启动时应该执行什么。 我只是使用webpack错了吗?我应该为这些单独的模块运行单独的webpack实例吗?如果我不打算将Webpack混入我的JS中,是否应该甚至将webpack用于非JS资产?

9
React的出色表现
我正在用React实现一个可过滤列表。列表的结构如下图所示。 前提 这是它应该如何工作的描述: 状态位于最高级别的Search组件中。 状态描述如下: { 可见:布尔值, 文件:数组, 过滤:数组, 请求参数, currentSelectedIndex:整数 } files 是一个可能非常大的包含文件路径的数组(10000个条目是一个合理的数字)。 filtered是用户键入至少2个字符后的过滤数组。我知道它是派生数据,因此可以就将其存储在状态中进行论证,但对于 currentlySelectedIndex 这是过滤列表中当前选定元素的索引。 用户在Input组件中输入两个以上的字母,对数组进行过滤,并为过滤后的数组中的每个条目Result呈现一个组件 每个Result组件都显示与查询部分匹配的完整路径,并突出显示路径的部分匹配部分。例如,如果用户输入了“ le”,那么Result组件的DOM将是这样的: &lt;li&gt;this/is/a/fi&lt;strong&gt;le&lt;/strong&gt;/path&lt;/li&gt; 如果用户在Input聚焦组件时按下向上或向下键,则currentlySelectedIndex基于filtered阵列的更改。这导致Result与索引匹配的组件被标记为选中,从而导致重新渲染 问题 最初,我files使用React的开发版本使用足够小的数组对它进行了测试,并且一切正常。 当我不得不处理files多达10000个条目的数组时,出现了问题。在“输入”中键入2个字母会生成一个大列表,当我按向上和向下键进行导航时,它会很麻烦。 最初,我没有为Result元素定义组件,而只是在Search组件的每个渲染过程中即时创建列表,如下所示: results = this.state.filtered.map(function(file, index) { var start, end, matchIndex, match = this.state.query; matchIndex = file.indexOf(match); start = file.slice(0, matchIndex); end = file.slice(matchIndex + match.length); …

18
将列索引转换为相应的列字母
我需要将Google Spreadsheet列索引转换为其相应的字母值,例如,给定一个电子表格: 我需要这样做(此功能显然不存在,这是一个示例): getColumnLetterByIndex(4); // this should return "D" getColumnLetterByIndex(1); // this should return "A" getColumnLetterByIndex(6); // this should return "F" 现在,我不记得确切的索引是从0还是从开始1,无论如何概念应该很清楚。 我在加油站的文档中没找到关于此的任何信息。任何的想法? 谢谢

1
什么是cookie和会话,它们之间如何关联?
我正在尝试专业地了解Cookie和会话。我知道,当浏览器连接到服务器时,服务器会“询问”浏览器,以在客户端浏览器cookie文件夹中“粘贴”具有“ phpsessid”的cookie。 现在我们有了“ phpsessid”,如果客户端进入服务器,浏览器将向服务器发送“ phpsessid”,服务器将查看tmp文件夹,如果有匹配项,它将加载用户具有的所有数据这个客户,但我对此过程有些困惑。 如果有人可以帮助我理解创建会话和Cookie的过程,我将不胜感激-幕后发生的事情。

6
带有React的ESLint会给出“ no-unused-vars”错误
我已经设定eslint&eslint-plugin-react。 当我运行ESLint时,linter会no-unused-vars为每个React组件返回错误。 我假设它没有意识到我正在使用JSX或React语法。有任何想法吗? 例: app.js import React, { Component } from 'react'; import Header from './header.js'; export default class App extends Component { render() { return ( &lt;div&gt; &lt;Header /&gt; {this.props.children} &lt;/div&gt; ); } } 短绒错误: /my_project/src/components/app.js 1:8 error 'React' is defined but never used no-unused-vars 2:8 error 'Header' is …

3
Node.js“服务器”与Nginx或Apache服务器相比如何?
我最近一直在研究Node.js,并且遇到了一些有关编写简单的基于Node.js的服务器的材料。例如,以下。 var express = require("express"), http = require("http"), app; // Create our Express-powered HTTP server // and have it listen on port 3000 app = express(); http.createServer(app).listen(3000); // set up our routes app.get("/hello", function (req, res) { res.send("Hello World!"); }); app.get("/goodbye", function (req, res) { res.send("Goodbye World!"); }); 现在,尽管我似乎理解了代码中发生的事情,但是我对术语有些困惑。当我听到服务器一词时,我想到的是Apache或Nginx之类的东西。我习惯于将它们视为可以容纳我的Web应用程序的容器。Node.js服务器与Nginx / …

30
旋转JavaScript中数组中的元素
我想知道旋转JavaScript数组的最有效方法是什么。 我想出了这个解决方案,其中一个正数n将数组向右旋转,而一个负数n向左(-length &lt; n &lt; length): Array.prototype.rotateRight = function( n ) { this.unshift( this.splice( n, this.length ) ); } 然后可以使用这种方式: var months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]; months.rotate( new Date().getMonth() ); 正如克里斯托夫在下面的评论中指出的那样,我上面的原始版本有一个缺陷,那就是正确的版本(附加返回值允许链接): Array.prototype.rotateRight = function( n ) { this.unshift.apply( this, this.splice( n, …

8
如何访问Redux Reducer中的状态?
我有一个化简器,为了计算新状态,我需要操作中的数据以及该化简器未管理的部分状态数据。具体来说,在我将在下面显示的reducer中,我需要访问该accountDetails.stateOfResidenceId字段。 initialState.js: export default { accountDetails: { stateOfResidenceId: '', accountType: '', accountNumber: '', product: '' }, forms: { blueprints: [ ] } }; FormsReducer.js: import * as types from '../constants/actionTypes'; import objectAssign from 'object-assign'; import initialState from './initialState'; import formsHelper from '../utils/FormsHelper'; export default function formsReducer(state = initialState.forms, action) { …

2
同一域上的CORS错误?
我现在遇到一个奇怪的CORS问题。 这是错误消息: XMLHttpRequest cannot load http://localhost:8666/routeREST/select?q=[...] Origin http://localhost:8080 is not allowed by Access-Control-Allow-Origin 两台服务器: localhost:8666 / routeREST /:这是一个简单的Python Bottle服务器。 localhost:8080 /:我在其中运行Javascript应用程序的Python simpleHTTPserver。这个应用程式正在上方的伺服器执行Ajax要求。 有什么问题的想法吗? 编辑: 而且...港口是问题所在。感谢您的回答:) 如果有人也在使用Python瓶服务器,则可以按照本文中给出的答案解决CORS问题: Bottle Py:为jQuery AJAX请求启用CORS

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.