小编Ben*_*enR的帖子

使用position()在xslt中的for-each循环中选择特定节点,而不返回预期结果

我意识到这段代码不是最干净的,但不幸的是,正确地重构它不是一种选择.

问题是我希望position()在第二次迭代时返回一个真值.但是当使用position()它时,永远不会返回true,正如第二次迭代所预期的那样.

但是如果我对选择值进行硬编码,它会返回预期的结果.这是一个例子:

<root>
  <MainProducts>
    <MainProduct>
      <Published>0</Published>
    </MainProduct>
    <MainProduct>
      <Published>1</Published>
    </MainProduct>
  </MainProducts>
  <SubProducts>
    <SubProduct>
      <IsDefault>1</IsDefault>
    </SubProduct>
    <SubProduct>
      <IsDefault>0</IsDefault>
    </SubProduct>
  </SubProducts>
</root>
Run Code Online (Sandbox Code Playgroud)



XML内容:

<xsl:for-each select="/root/SubProducts/SubProduct">
  <script type="text/javascript">
    // Always returns false
    console.log("Dynamic position " + <xsl:value-of select="position()" /> + " IsDefault: " + ( <xsl:value-of select="/root/MainProducts/MainProduct[position()]/Published" /> == 1 ? "true" : "false" ));
  </script>
</xsl:for-each>

<script type="text/javascript">
  // Returns false, but expected to return true on second iteration.
  console.log("Hard coded position 1 IsDefault: " + ( …
Run Code Online (Sandbox Code Playgroud)

xslt xslt-1.0

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

在进行性能测试时,为什么初始迭代会不断慢于平均值?

似乎每次我进行性能测试时,在时间稳定之前的前几次迭代中始终存在"减速"时间.

这是性能测试代码(在这种情况下,我测试了Lambda和LINQ之间的区别):

using System;
using System.Collections.Generic;
using System.Diagnostics;

namespace Sandbox
{
    public class Program
    {
        private static long sum = 0;
        private static int count = 0;

        public class Item
        {
            public string name;
            public int id;
        }

        public static void Main(string[] args)
        {
            // START TESTING PARAMETERS
            List<Item> items = new List<Item>();

            for (int i = 0; i < 1000; i++)
            {
                items.Add(new Item
                {
                    id = i,
                    name = "name_" + i.ToString()
                });
            }

            // END TESTING PARAMETERS …
Run Code Online (Sandbox Code Playgroud)

c# performance performance-testing

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

为什么chrome.webRequest.OnBeforeRequest在chrome.webNavigation.onBeforeNavigate之前启动?

我正在尝试了解逻辑。我认为,onBeforeNavigate在我们听到任何请求之前,事件应该完成。但是我发现一个onBeforeRequest事件首先触发。这里的示例代码将演示我的意思。

test.js

function Test(url) {
  chrome.tabs.create({ url: "" }, function (tab) {
    chrome.webNavigation.onBeforeNavigate.addListener(function (details) {
      console.log("chrome.webNavigation.onBeforeNavigate hit on " + details.timeStamp);
    });

    chrome.webRequest.onBeforeRequest.addListener(function (details) {
      console.log("chrome.webRequest.onBeforeRequest hit on " + details.timeStamp);
    }, {
      tabId: tab.id,
      urls: ["<all_urls>"]
    });

    chrome.tabs.update(tab.id, {
      url: url
    });
  });
}
Test("http://www.steam.com");    // Simple url with only two requests
Run Code Online (Sandbox Code Playgroud)

产生的控制台消息:

chrome.webRequest.onBeforeRequest hit on 1437083141916.896
chrome.webNavigation.onBeforeNavigate hit on 1437083141916.906
chrome.webRequest.onBeforeRequest hit on 1437083141940.385
Run Code Online (Sandbox Code Playgroud)

manifest.json

{
  "background": {
    "persistent": true,
    "scripts": [
      "test.js"
    ] …
Run Code Online (Sandbox Code Playgroud)

google-chrome-extension

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

外部样式表要么不下载,要么在极少数情况下不应用

我记得一些非常罕见的例子,看到主要网站(亚马逊,Facebook等)要么没有下载CSS文件,要么没有应用规则,导致页面看起来像这样:

无风格的Facebook

我们的任务是在收到投诉电子邮件后提供内部解释,其中包含我们其中一个网站的用户显示相同效果的屏幕截图.屏幕截图包含敏感的用户信息,因此我无法发布.但它显示正在应用内联样式,但未应用从外部CSS文件引用的任何样式.

不幸的是,我无法重现这个问题,除了说"风格没有被应用"之外,我会详细解释,我很想了解它.

我将不胜感激为什么会发生这种情况或参考任何文章.即使有人知道这个事件被称为什么,我也很乐意去研究它,但是到目前为止我还是空白了.

html css browser stylesheet

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

将类选择器附加到侦听器上的事件类型时会做什么?

我已经看到了这个,我不明白类选择器对事件类型的作用:

$("#Selector").on("click.image", function() { . . . });
// ---------------------^----^ this guy
Run Code Online (Sandbox Code Playgroud)

jquery

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