我在Github(https://github.com/ad-johnson/griddle)有一个项目,我在HTMLPreview(http://htmlpreview.github.io/?https://github.com/ad-johnson/griddle/blob/master/griddle.html)中进行预览,对于我的生活,我无法解决为什么它在本地工作在我的Mac上,但不是通过HTMLPreview。 它是一个用HTML和Javascript编写的简单项目,使用jQuery:基本上,使用鼠标在网格的方块中着色。可以更改颜色,更改网格大小等。有两个问题:
暂时忽略(1),对于(2)这是相关代码:
$(document).keypress(function(event){
if(event.which==80 || event.which==112) {
event.preventDefault(); /* don't propogate as it may register in an input box */
pause();
}
});
function pause() {
if(gridSettings.paused) {
$('.paused').css({'visibility': 'hidden'}); /* currently paused so un-pause */
} else {
$('.paused').css({'visibility': 'visible'});
}
gridSettings.paused = !gridSettings.paused;
}
<p>Enter the HTML file to preview: <input type="url" id="file" value="" placeholder="e.g. https://github.com/user/repo/blob/master/index.html" size="70"> <input type="submit" value="»"></p>
<p>or prepend to the URL: <strong>http://htmlpreview.github.io/?</strong>https://raw.github.com/twbs/bootstrap/gh-pages/2.3.2/index.html</p>
<p>or use this bookmarklet while browsing GitHub or BitBucket: <a href="javascript:void('http://htmlpreview.github.io/'==window.location?alert('Drag me to your bookmarks bar!'):window.location='http://htmlpreview.github.io/?'+window.location)"><strong>HTMLPreview</strong></a></p>
按键拦截在$(document).ready()内。函数Pause()在该块之外。
我尝试过在Safari中使用调试工具。在代码行上有一个断点,调用pause();在按键事件处理程序中,当我按下&#39; p&#39;它到达那个断点。但是,当我进入pause()时,它不会调用该函数(它上面有另一个断点),而是转到第三行HTML代码(...使用这个书签...)。
我的第一个想法可能是一个函数或全局变量正在被HTMLPreview重新定义(我在阅读一篇关于全局变量为什么会变坏的文章之前写了大部分内容!)但是我已经通过代码来查看我能够并且无法看到冲突的程度。
我对此很新(如果你不能告诉)我正在努力解决为什么它不能在HTMLPreview中工作但它运行良好本地。任何人都可以告诉我HTMLPreview中的怪癖或者为什么它的运行时行为不同?也许给我一些调试指针?