小编fek*_*lee的帖子

DOMContentLoaded上的document.readyState?

在支持事件DOMContentLoaded和属性的浏览器中document.readyState:

DOMContentLoaded火灾,我可以假设的价值document.readyState永远是两种"complete""interactive"/ "loaded"

(或者可能document.readyState有时仍然有价值"loading"?)

在您的回答中,请提供权威来源的参考.

你可能想知道:为什么不听readystatechange呢?这是因为Android 2.3.5标准浏览器是一个目标平台,并没有实现该readystatechange事件.

javascript dom cross-browser dom-events

7
推荐指数
2
解决办法
8152
查看次数

提高MySQL LIKE查询的速度?

对于具有自动完成功能的机场输入字段,目前有一个包含机场描述的表格,autocomplete_airport:

lang | description (with INDEX)                           | ...
-----+----------------------------------------------------+----
pt   | New York - John F Kennedy (JFK), Estados Unidos    | ...
pt   | Nova Iorque - John F Kennedy (JFK), Estados Unidos | ...
...
Run Code Online (Sandbox Code Playgroud)

自动完成功能适用于单个单词.因此,当用户输入"yor"时,则显示"new york"(如果在LIMIT中).查询目前的工作方式如下:

SELECT * FROM autocomplete_airport WHERE lang = "pt"
AND (description LIKE "%(yor)%"
     OR description LIKE "yor%"
     OR description LIKE "% yor%")
ORDER BY description
LIMIT 15
Run Code Online (Sandbox Code Playgroud)

现在我想知道如何加快速度.一个想法是创建以下数据库结构,包括表autocomplete_airportautocomplete_airport_word:

id   | lang | description (with INDEX)                           | ... …
Run Code Online (Sandbox Code Playgroud)

mysql performance search

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

PHP DOM:如何将元素移动到默认命名空间?

我尝试了什么,什么不起作用:

  • 输入:

    $d = new DOMDocument();
    $d->formatOutput = true;
    
    // Out of my control:
    $someEl = $d->createElementNS('http://example.com/a', 'a:some');
    
    // Under my control:
    $envelopeEl = $d->createElementNS('http://example.com/default',
                                      'envelope');
    $d->appendChild($envelopeEl);
    $envelopeEl->appendChild($someEl);
    
    echo $d->saveXML();
    
    $someEl->prefix = null;
    echo $d->saveXML();
    
    Run Code Online (Sandbox Code Playgroud)
  • 替换后输出无效XML:

    <?xml version="1.0"?>
    <envelope xmlns="http://example.com/default">
      <a:some xmlns:a="http://example.com/a"/>
    </envelope>
    <?xml version="1.0"?>
    <envelope xmlns="http://example.com/default">
      <:some xmlns:a="http://example.com/a" xmlns:="http://example.com/a"/>
    </envelope>
    
    Run Code Online (Sandbox Code Playgroud)

请注意,<a:some>可能有孩子.一个解决方案是创建一个新的<some>,和所有的孩子从复制<a:some><some>.这是要走的路吗?

php xml xml-namespaces domdocument

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

COLLATION'utf8_general_ci'对CHARACTER SET'二进制'无效?

mysql> SELECT LOCATE("n", "München") COLLATE utf8_general_ci;
ERROR 1253 (42000): COLLATION 'utf8_general_ci' is not valid for CHARACTER SET 'binary'
Run Code Online (Sandbox Code Playgroud)

我该如何摆脱这个错误?

我已经尝试过(复制和粘贴):

$ mysql -u admin -p $DATABASE
Enter password:
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.1.69 Source distribution

Copyright (c) 2000, 2013, Oracle and/or its …
Run Code Online (Sandbox Code Playgroud)

mysql collation character-encoding

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

为什么Firefox会忘记变量的价值?调试解决方案?

脚步:

  1. 在Firefox 29.0.1(Windows 7 x64)中打开页面:

    <!doctype html>
    <title>Test</title>
    <script>
        (function () {
            var x = 5, f = function () {
                setTimeout(f, 1000);
            };
            f();
        }());
    </script>
    
    Run Code Online (Sandbox Code Playgroud)
  2. 打开开发人员工具(F12).

  3. 调试器中,设置断点:setTimeout(f, 1000);

  4. 一旦断点被​​击中,请x在控制台中进行评估.结果:undefined

    屏幕截图显示何时评估<code>f</code>.</p></li>
<li><p>评估<code>x</code>.结果:<code>5</code></p></li>
<li><p>恢复执行,再次点击断点时,进行评估<code>x</code>.相同的结果:<code>5</code></p></li>
</ol>

<p><strong>我的假设:</strong>如果Firefox在第一次运行时<code>f</code>意识到<code>x</code>不需要,那么它不会存储<code>x</code>f.所以在后续调用f的值xundefined.有趣的是,我在Chrome 35和IE11中看到了相同的行为.

    问题:发生了 什么事?我是否可以将Firefox配置为x在步骤4中评估其正确值(参见上文)?

javascript firefox closures firefox-developer-tools

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

捕获按下音量增大按钮?

Firefox OS 应用程序可以检测何时按下音量增大按钮吗?如果是这样,怎么办?

(也许这只是 上的一个关键事件document,还没有尝试过)

javascript firefox-os

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

CSS sprites是否具有最大的可访问性?

假设我想>用花哨的图像箭头替换链接.为此,我想使用CSS精灵.

在许多文章中,例如在Smashing Magazine 最近的一篇(2012年)文章中,推荐的方法是这样的:

但是,此方法在可访问性方面存在问题:如果禁用图像但解释了CSS,则上述链接将不可见.

有趣的是,我发现Paciello集团的一篇文章(2010年)提出了一个看起来很好的解决方案.我们的想法是<span>在要替换的文本旁边放置一个.它<span>有一个背景图像,位于文本的顶部.如果图像加载,它将替换文本,否则文本仍然可见.

为什么这种方法没有被广泛使用?这个解决方案有问题吗?

html css accessibility css-sprites

4
推荐指数
1
解决办法
1157
查看次数

在非Symfony项目中使用Symfony 2组件?

为了在PHP中获得XLIFF/2支持,在另一个答案中,建议使用Symfony 2 Translation组件.

所以我把它从Github下载到一个目录中../vendor/并天真地尝试使用它:

<?php

    require_once '../vendor/Symfony/Component/Translation/Translator.php';
    require_once '../vendor/Symfony/Component/Translation/MessageSelector.php';
    require_once '../vendor/Symfony/Component/Translation/Loader/ArrayLoader.php';

    use Symfony\Component\Translation\Translator;
    use Symfony\Component\Translation\MessageSelector;
    use Symfony\Component\Translation\Loader\ArrayLoader;

    $translator = new Translator('fr_FR', new MessageSelector());
Run Code Online (Sandbox Code Playgroud)

这不起作用,因为需要加载其他组件:

PHP Fatal error:  Interface 'Symfony\\Component\\Translation\\TranslatorInterface' not found in /home/ec2-user/layout/vendor/Symfony/Component/Translation/Translator.php on line 25
Run Code Online (Sandbox Code Playgroud)

现在,我可以require_once为每个文件手动添加一个,直到满足所有依赖项,但我不确定这是否是正确的方法.

如何在非Symfony项目中使用单个Symfony 2组件?这是个坏主意吗?

php internationalization symfony xliff

4
推荐指数
1
解决办法
973
查看次数

D3 版本 4 的水平变焦?

使用 D3 版本 4,如何将缩放限制为仅 x 轴?

无限制缩放示例:

var sideLength = 190;
var data = [
  [0, 0],
  [0.5, 0.8],
  [1, 0.4]
];
var svg = d3.select("body")
  .append("svg")
  .attr("width", sideLength)
  .attr("height", sideLength);
var yScale = d3.scaleLinear().range([sideLength, 0]);
var xScale = d3.scaleLinear().range([0, sideLength]);
var graphGroup = svg.append("g");
var onZoom = function() {
  graphGroup.attr("transform", d3.event.transform);
};
var zoomBehavior = d3.zoom().on("zoom", onZoom);
var line = d3.line()
  .x(function(d) {
    return xScale(d[0]);
  })
  .y(function(d) {
    return yScale(d[1]);
  });

svg.call(zoomBehavior);
graphGroup.selectAll("path").remove();
graphGroup.append("path")
  .datum(data)
  .attr("class", "line")
  .attr("d", line); …
Run Code Online (Sandbox Code Playgroud)

javascript d3.js

4
推荐指数
1
解决办法
891
查看次数

嵌套模板类:不接受参数默认值

这样编译:

class A {
public:
  template <int, int> class B;
};

template <int y, int z = y>
class A::B {
};

int main() {}
Run Code Online (Sandbox Code Playgroud)

这不是:

template <int x>
class A {
public:
  template <int, int> class B;
};

template <int x>
template <int y, int z = y>
class A<x>::B {
};

int main() {}
Run Code Online (Sandbox Code Playgroud)

g++ main.cpp 说:(版本9.1.0)

main.cpp:24:13: error: default argument for template parameter for class enclosing ‘class A<x>::B<<anonymous>, <anonymous> >’
   24 | class A<x>::B {
      |             ^ …
Run Code Online (Sandbox Code Playgroud)

c++ templates gnu g++ template-meta-programming

4
推荐指数
1
解决办法
45
查看次数