我正在学习教程: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);在回调中做魔术......
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
一般我知道如何设置断点,检查变量,步入函数等...
Default.htm由数百个脚本组成,为空 占位符.
理想情况下,我想一步一步地进行.在第一行中设置断点不起作用:

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

一般如何调试异步加载脚本?(时间线清楚地表明它们同时加载)
也许我应该使用像Fiddler这样的HTTP代理?我知道如何设置简单断点(BPU)然后呢?

换句话说 - 哪种方法 - 如何调试我的JavaScript代码? - 根据我的需求量身定制?
我在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商店.仅用于开发我想使用浏览器.
我想要实现的效果:
非常相似的问题:
潜在解决方案
我设法找到关于CSS形状的这篇文章 - http://www.chenhuijing.com/blog/why-you-should-be-excited-about-css-shapes/ - 但他们尚未准备好黄金时间 - http ://caniuse.com/#feat=css-shapes - 没有IE,没有Edge,没有Firefox ......
我正在使用:http://www.chartjs.org/docs/#chart-configuration-mixed-chart-types + AngularJS 包装器:http://jtblin.github.io/angular-chart.js/
创建图表时,您可以选择将不同的图表类型作为单独的数据集相互叠加。
为此,您必须为每个数据集单独设置类型。您可以使用条形图和折线图类型创建混合图表类型。
创建图表时必须将整体类型设置为条形。
线条的呈现方式略有不同 - 如果我在同一个图表上显示bar和line,则线条不会到达终点。
ChartJS 将单个元素显示为点的折线图 - Chartjs linechart with only one point - 如何居中 (他们建议添加一些null元素,我不确定是否要遵循该路线)
这里有一些如何在画布上绘制垂直线的示例:http://jsfiddle.net/zk9oc4c9/ (感觉手动计算所有内容需要花费太多精力)
也许有更好的方法?
我是Visual Studio 2010的新手,我缺少一个Notepad ++功能,即崩溃...
在Visual Studio和Resharper中,我在哪里可以选择这样的选项?

我要通过一些遗留代码,我注意到以下几行:
// Stray timeout
var t = setTimeout('',1);
Run Code Online (Sandbox Code Playgroud)
它有什么用吗?真的需要吗?
关于SO有一个以下问题:为什么setTimeout(fn,0)有时会有用?
解决方案是"暂停"JavaScript执行以让渲染线程赶上来.这就是setTimeout()的超时为0的效果.它就像C中的一个线程/进程产量.虽然它似乎说"立即运行"但实际上它让浏览器有机会完成一些非JavaScript的事情,这些事情一直等到完成这个新的JavaScript之前就已经完成了.
这解释了在setTimeout中执行函数的好处.但是如何执行空字符串呢?

微软网站上的类似问题: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 ×4
ajax ×1
chart.js ×1
charts ×1
css ×1
css-shapes ×1
css3 ×1
debugging ×1
fiddler ×1
html ×1
html5 ×1
resharper ×1
settimeout ×1
shadow-dom ×1
windows-8 ×1
winjs ×1