小编Mar*_*son的帖子

window.customElements.define 为 null - 无法创建 Shadow DOM(在 Chrome 扩展中)

我正在学习教程:https : //alligator.io/web-components/composing-slots-named-slots/

我正在遵循以下建议:如何通过 Chrome 扩展程序附加 HTML 标记而不会将主机页面的样式泄漏到附加元素?

由于某种原因得到一个错误:

window.customElements.define('my-info-box', MyInfoBox);

myScript.js:82 Uncaught TypeError: Cannot read property 'define' of null
Run Code Online (Sandbox Code Playgroud)

根据我是否设置断点,它的行为会有所不同:https : //en.wikipedia.org/wiki/Heisenbug

你碰巧知道吗?

我认为这可能是时间问题,所以尝试setTimeout以及document.addEventListener('DOMContentLoaded', fireContentLoadedEvent);在回调中做魔术......




视频讲解:https : //youtu.be/hpvRIlBtkEE

扩展代码

  let shadowDomMarkup = 
  `
    <my-info-box>
      <span slot="top">I'm in the shadow DOM injected by extension</span>
    </my-info-box>
  `;

  $(shadowDomMarkup).prependTo("body");

  (function() {
    const template = document.createElement('template');

    template.innerHTML = `
      <style>
        :host {
          display: block;
          background: red;
          border: 10px dashed black;
        }
      </style>

      <div>
        <slot name="top"></slot> …
Run Code Online (Sandbox Code Playgroud)

google-chrome google-chrome-extension shadow-dom custom-element

6
推荐指数
0
解决办法
1211
查看次数

如何异步调试JavaScript?(许多脚本正在加载)

一般我知道如何设置断点,检查变量,步入函数等...

Default.htm由数百个脚本组成,为空 占位符.

理想情况下,我想一步一步地进行.在第一行中设置断点不起作用:

示例断点

当我跳过下一个函数调用时,它已经很久了(一切都已加载).

Chrome开发者工具

一般如何调试异步加载脚本?(时间线清楚地表明它们同时加载)

也许我应该使用像Fiddler这样的HTTP代理?我知道如何设置简单断点(BPU)然后呢? 提琴手断点

换句话说 - 哪种方法 - 如何调试我的JavaScript代码? - 根据我的需求量身定制?

javascript debugging ajax fiddler google-chrome-devtools

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

如何在Visual Studio外开发Windows 8 metro风格的JS应用程序?

我在VM上运行Windows 8.

实际上我想在本地开发(而不是在VM上).

有没有办法在浏览器中运行JS应用程序而不是通过Visual Studio?

如果我在浏览器中运行default.htm,会发生以下情况: 在此输入图像描述

请注意以//和/开头的文件名.删除了"/",我复制了SDK,因此所有文件都在本地可用:

c:\Program Files (x86)\Microsoft SDKs\Windows\v8.0\ExtensionSDKs\Microsoft.WinJS.1.0\1.0\DesignTime\CommonConfiguration\neutral\Microsoft.WinJS.1.0\
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我得到以下一组错误:

在此输入图像描述

我怀疑其他一些文件丢失了,请参阅示例项目的解决方案资源管理器: 在此输入图像描述

我越来越混淆两个base.js文件.我想做的就是像浏览器中的常规web应用程序一样开发Windows 8 JS应用程序.这可能会让我和许多其他开发人员节省很多时间,而不必通过Visual Studio运行.

这是文章 - http://msdn.microsoft.com/en-us/library/windows/apps/Hh781229(v=win.10).aspx - 如何加载文件资源(使用JavaScript和HTML的Windows应用商店应用) - 但这对我没什么帮助.任何建议赞赏:)

只是为了澄清:我想发布到Windows 8商店.仅用于开发我想使用浏览器.

html5 microsoft-metro windows-8 winjs visual-studio-2012

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

非矩形形状(五边形或六边形)内的文字

我想要实现的效果:

五角大楼中的文字

非常相似的问题:

潜在解决方案


与2015年Novemeber一样 - 我们能做得更好吗?

我设法找到关于CSS形状的这篇文章 - http://www.chenhuijing.com/blog/why-you-should-be-excited-about-css-shapes/ - 但他们尚未准备好黄金时间 - http ://caniuse.com/#feat=css-shapes - 没有IE,没有Edge,没有Firefox ......

html css css3 css-shapes

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

ChartJS - 如何显示单个元素作为一条线的折线图?(不是点)

我正在使用:http://www.chartjs.org/docs/#chart-configuration-mixed-chart-types + AngularJS 包装器:http://jtblin.github.io/angular-chart.js/

创建图表时,您可以选择将不同的图表类型作为单独的数据集相互叠加。

为此,您必须为每个数据集单独设置类型。您可以使用条形图和折线图类型创建混合图表类型。

创建图表时必须将整体类型设置为条形。

线条的呈现方式略有不同 - 如果我在同一个图表上显示barline,则线条不会到达终点。

在此输入图像描述

这并不重要,除非我只有单一元素...... 在此输入图像描述

ChartJS 将单个元素显示为点的折线图 - Chartjs linechart with only one point - 如何居中 (他们建议添加一些null元素,我不确定是否要遵循该路线)

这里有一些如何在画布上绘制垂直线的示例:http://jsfiddle.net/zk9oc4c9/ (感觉手动计算所有内容需要花费太多精力)

代码笔:http://codepen.io/stefek99/pen/WpRQgp? editors=1010

也许有更好的方法?

在此输入图像描述

javascript charts chart.js

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

如何在Visual Studio 2010编辑器中折叠函数体?

我是Visual Studio 2010的新手,我缺少一个Notepad ++功能,即崩溃...

在Visual Studio和Resharper中,我在哪里可以选择这样的选项?

在此输入图像描述

resharper visual-studio-2010

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

"Stray timeout" - javascript中的空超时有什么作用?

我要通过一些遗留代码,我注意到以下几行:

// Stray timeout
var t = setTimeout('',1);
Run Code Online (Sandbox Code Playgroud)

它有什么用吗?真的需要吗?


关于SO有一个以下问题:为什么setTimeout(fn,0)有时会有用?

解决方案是"暂停"JavaScript执行以让渲染线程赶上来.这就是setTimeout()的超时为0的效果.它就像C中的一个线程/进程产量.虽然它似乎说"立即运行"但实际上它让浏览器有机会完成一些非JavaScript的事情,这些事情一直等到完成这个新的JavaScript之前就已经完成了.

这解释了在setTimeout中执行函数的好处.但是如何执行空字符串呢?

javascript settimeout

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

Internet Explorer怪异 - 功能项(){[本机代码]} - 它做什么?

见图:

在此输入图像描述

微软网站上的类似问题:http://connect.microsoft.com/IE/feedback/details/785194/function-item-native-code

尝试了Google.com,Facebook,StackOverflow - 我访问的每个网站都有这个奇怪的功能.启动IE9(尚未测试其他版本)并输入item您的开发控制台.

如果我没有尝试其他网站,我会认为还有一个<div id="item">看到:

所以在这个场合,问题是 - function item()当使用IE时为什么会出现在这么多网站上?


更新:超简化测试用例. 在此输入图像描述

javascript internet-explorer internet-explorer-9

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