小编Dev*_*ode的帖子

自动扩展textarea

我正在尝试做一个简单的自动扩展textarea.这是我的代码:

textarea.onkeyup = function () {
  textarea.style.height = textarea.clientHeight + 'px';
}
Run Code Online (Sandbox Code Playgroud)

但是当你打字时,textarea会无限增长......

我知道有Dojo和jQuery插件,但不想使用它们.我看了他们的实现,并且最初使用scrollHeight但是做了同样的事情.

您可以开始回答并使用textarea来回答您的问题.

javascript

24
推荐指数
2
解决办法
2万
查看次数

从命令行在任何目录中启动Apache服务器

我希望能够从命令行启动一个apache服务器,输入类似apache site-folder或的东西apache . --port=2000

这应该读取和使用.htaccess文件.

我知道python -m SimpleHTTPServer并且它接近我需要的东西,但并不完全.

理想解决方案

  1. 为apache本身提供了一个很好的命令行界面
  2. 编写一个包含/包含apache(或其他东西)的简单命令行工具
  3. 链接到现有cli上的文档以获取apache

我只想打字 command <Directory> --port=8000 --other-options

命令名也可以是 pache

在某些时候,我可能想在生产中使用它.将进程发送到后台应该很容易,然后永远停止该实例或所有实例

相关链接:http://httpd.apache.org/docs/2.4/programs/httpd.html

对于任何人来说,安装脚本以供立即使用应该只有一个命令

apache command-line-interface static-files static-site staticfilehandler

24
推荐指数
3
解决办法
1万
查看次数

获取页面上的所有javascript错误/ javascript错误处理

我希望能够在页面上发送自己的所有javascript错误.我是一个扩展开发人员,因此以下重点是在调用dom之前确保dom已准备就绪.

我调查了添加一些功能,throw也发送或邮寄异常,但我没有发现这是可能的.

1:主要解决方案,window.onerror处理程序:

window.onerror = function(e, url, line){
  mailError('onerror: ' + e + ' URL:' + url + ' Line:' + line);
  console.error('\nLine ' + line + ':');
  setTimeout(function(){retry();}, 100); //mainly useful in content scripts for extensions, 
  return true; 
}
Run Code Online (Sandbox Code Playgroud)

也可能需要通过jQuery做同样的事情:

$(window).error( 
  function(e, url, line){
    //handle error
  }
);
Run Code Online (Sandbox Code Playgroud)

这种情况的缺点是您的代码已停止执行.

为了避免错误停止执行,最好使用回调来确保代码按特定顺序执行,并尽可能利用事件.您还可以使用一些技巧保护dom通话

$(document).ready({
  //you usually won't get bad dom calls wrapping your code in this
});
Run Code Online (Sandbox Code Playgroud)

您还可以考虑在window.onload上运行代码

window.onload = function(){
  //you page will probably twitch upon executing …
Run Code Online (Sandbox Code Playgroud)

javascript

23
推荐指数
1
解决办法
5万
查看次数

什么html标签支持onload/onerror javascript事件属性?

我熟悉它的典型用法onload,如下所示:

<body onload="alert('Hello, World!');">
...
</body>
Run Code Online (Sandbox Code Playgroud)

触发加载事件的所有html元素是什么?(从而执行onload属性中提供的javascript)

例如,img是一个这样的标记,它将在加载onload时执行属性中提供的javascript some.png:

<img onload="someImgLoaded()" src="some.png" />
Run Code Online (Sandbox Code Playgroud)

html javascript html5 onload onerror

21
推荐指数
2
解决办法
2万
查看次数

Ember.js在模板中绑定css样式

自从Ember 1.8使用HTMLBars引擎后,这就解决了.

我想在模板中绑定一个CSS样式.什么是解决方案?

我试过这个:

<div class="bar" style="width:{{barWidth}}px"></div>
Run Code Online (Sandbox Code Playgroud)

但DOM元素在渲染后看起来像这样:

<div class="bar" style="width:<script id='metamorph-28-start' type='text/x-placeholder'></script>5.000000000000002<script
Run Code Online (Sandbox Code Playgroud)

id ='metamorph-28-end'type ='text/x-placeholder'> px">

显然,在这里我们可以看到变形的标签被添加到样式属性中...

我想知道用Ember.js实现这些事情的最佳方法是什么


还有一些我还没有得到的东西.

我有一个模板如下:

<script type="text/x-handlebars" data-template-name="listTemplate">
<ul id="list">
    {{#each App.list}}
      <li {{bindAttr data-item-id="itemId"}}>
        <div>
            <span class="label">{{itemName}}</span>
            <div class="barContainer">
              <div class="bar" {{bindAttr style="barWidth"}}></div>   
              <div class="barCap"></div>
            </div>
        </div>
      </li>
    {{/each}}
    </ul>
Run Code Online (Sandbox Code Playgroud)

我在每个循环中通过我的ArrayProxy内容循环...并且条形宽度根据列表中每个项目的值而变化.这里的解决方案不起作用,因为视图是UL,我需要每个模型项目的barWidth.而且我不想用css相关的东西来判断我的模型,例如"width:### px"

有没有其他优雅的方法来解决我尝试做的事情?也许它会完全不同.我是ember.js的新手,并尝试发现最好的做法:)

ember.js

20
推荐指数
3
解决办法
1万
查看次数

安全设置未知属性(缓解方括号对象注入攻击)实用程序功能

设置好之后eslint-plugin-security,我继续尝试解决我们javascript代码库中方括号的近400种用法(由安全性/检测对象注入规则标记)。尽管此插件可能更智能,但方括号的任何使用都可能成为恶意代理注入自己的代码的机会。

要了解如何理解问题的整个上下文,您需要阅读以下文档:https : //github.com/nodesecurity/eslint-plugin-security/blob/master/docs/the-dangers-of-square -bracket-notation.md

我通常尝试使用Object.prototype.hasOwnProperty.call(someObject, someProperty)可以减轻someProperty恶意设置的机会的方法constructor。许多情况只是在for循环(for (let i=0;i<arr.length;i++) { arr[i] })中取消引用数组索引。如果i始终为int,则显然始终是安全的。

我认为我无法完美处理的一种情况是如下方括号分配

someObject[somePropertyPotentiallyDefinedFromBackend] = someStringPotentiallyMaliciouslyDefinedString
Run Code Online (Sandbox Code Playgroud)

StackOverflow的现状是“向我展示所有代码”-当您遍历一个代码库并在成百上千个实例中修复它们时,花很长时间才能阅读这些任务之一之前的代码。 。此外,我们希望确保此代码在将来进行修改时保持安全。

我们如何确保要设置的属性在香草对象上基本上尚未定义?(即constructor

尝试自己解决此问题,但缺少一些碎片。最终将对其进行编辑,但留在此处以供参考。

因此,我认为解决此问题的最简单方法是使用一个简单的util,safeKey定义如下:

// use window.safeKey = for easy tinkering in the console.
const safeKey = (() => {
  // Safely allocate plainObject's inside iife
  // Since this function may get called very frequently -
  // I think it's important to have plainObject's …
Run Code Online (Sandbox Code Playgroud)

javascript security code-injection square-bracket

10
推荐指数
1
解决办法
457
查看次数

这是优化吗?

来自

<script type="text/javascript" src="jquery.js"></script>
Run Code Online (Sandbox Code Playgroud)

<script type="text/javascript">
  <?php echo file_get_contents('jquery.js'); ?>
</script>
Run Code Online (Sandbox Code Playgroud)

真的加快了速度吗?

我认为这样做是因为php可以更快地获取和嵌入文件的内容,而不是客户端的浏览器可以完全请求文件,因为php不会通过网络.

传统方法可以缓存的主要区别是什么?

javascript php optimization http

8
推荐指数
1
解决办法
286
查看次数

打字稿泛型 - “扩展对象”毫无意义吗?最佳做法是什么?

我注意到<P extends object>泛型通常毫无意义,因为基本上 javascript 中的所有内容都是对象。大多数文字是具有 .toString 方法的对象。字符串是具有 .length 属性等的对象。我开始喜欢<P>但很好奇其他人注意到了什么。

我现在没有一个很好的例子,我更多地只是想听听其他人的经历。

typescript typescript-generics

8
推荐指数
1
解决办法
1716
查看次数

对于不使用 typescript 的纯 javascript 项目来说,starter tsconfig.json 是最宽松/宽松的?

我很难找到一个最不严格/最宽松/宽松选项的示例/入门 tsconfig.json 文件。我有一个大型的 javascript 项目,我真的对修复大量打字稿错误不感兴趣,但是,我想允许我的同事编写打字稿,如果他们愿意的话。

我们正在使用 create-react-app,因此我可以使用此TSC_COMPILE_ON_ERROR标志来使其打字稿错误不会影响正常使用。(“当设置为 true 时,即使存在 TypeScript 类型检查错误,您也可以运行并正确构建 TypeScript 项目。这些错误将作为警告打印在终端和/或浏览器控制台中。”)

到目前为止我所知道的是我希望allowJs: true打字稿在 .js/.jsx 文件上运行。

所以我想启用打字稿,但我想从最少数量的打字稿错误+警告开始。随着我们的发展,我们可以解决我们看到的这些问题,并逐渐启用更严格的选择。


更新:发现一个类似的问题,不完全相同,但有些人可能认为它是重复的:TypeScript - possible to disable typechecking?

我尝试使用这个 tsconfig.json 文件...这是我几个月前的旧文件,进行了一些修改:

{
  "compilerOptions": {
    "target": "es5", // cra default
    "lib": [
      "es6", // old cra default?
      "dom", // cra default
      "dom.iterable", // cra default
      "esnext" // cra default
    ],
    "allowJs": true, // cra default
    "skipLibCheck": true, // cra default
    "esModuleInterop": true, // cra default
    "allowSyntheticDefaultImports": true, // cra default …
Run Code Online (Sandbox Code Playgroud)

javascript typescript

7
推荐指数
1
解决办法
952
查看次数

使用Webkit语音api进行连续语音识别

我开始使用这个浏览器(chrome)功能.我已经基于此编写了一个JS,但问题是甚至,它只识别一次和结束的演讲.它不会持续,我需要一次又一次按下按钮开始语音识别.告诉我应该在哪里调整.我设置"recognition.continuous = true"仍然没有帮助?

var recognition = new webkitSpeechRecognition();
recognition.continuous     = true;
recognition.interimResults = true;

recognition.onstart = function() {
  console.log("Recognition started");
};
recognition.onresult = function(event){
  console.log(event.results);
};
recognition.onerror = function(e) {
  console.log("Error");
};

recognition.onend = function() {
  console.log("Speech recognition ended");
};

function start_speech() {
  recognition.lang = 'en-IN'; // 'en-US' works too, as do many others
  recognition.start();
}
Run Code Online (Sandbox Code Playgroud)

我从一个按钮叫"start_speech"!而已

html5 speech-recognition webkit google-chrome

5
推荐指数
2
解决办法
7234
查看次数