我刚刚在论坛中添加了一项功能,当大多数用户看到并使用它时,少数人会报告奇怪的行为。我认为问题可能是由于浏览器缓存和ctrl + F5解决了一些,但有些无法修复它。 (这是一个简单的编辑按钮。)
即使问这个我也觉得很愚蠢,但JS是否有办法以某种方式在某些机器上工作?
编辑:已添加代码:
insertTab: function()
{
if( this.get_selection() == "" )
{
var val = prompt( "How many lines of tablature?", '');
if( val == '' ) return true;
val = parseInt(val);
var txt = "[code]\n";
while ( val > 0 )
{
txt += "------------------------------------------------------------------------------------------------" + "\n";
txt += "------------------------------------------------------------------------------------------------" + "\n";
txt += "------------------------------------------------------------------------------------------------" + "\n";
txt += "------------------------------------------------------------------------------------------------" + "\n";
txt += "------------------------------------------------------------------------------------------------" + "\n";
txt += "------------------------------------------------------------------------------------------------" + "\n";
txt += "\n";
val--;
}
this.insert_text( txt + "[/code]" );
}
else
{
this.wrap_tags_lite( '[code]', '[/code]', 0);
}
}
它完全适用于我亲自试过的每台电脑。
答案 0 :(得分:2)
不幸的是,它并不是导致问题的机器,很可能是浏览器。在所有浏览器中,Javascript运行时引擎的实现方式略有不同,因此您可以在每个浏览器中获得稍微不同的行为。
IE,WebKit和Mozilla都表现得有些不同。在测试代码时,需要在所有浏览器上进行测试。另一种选择是使用像JQuery这样的库,它有点抽象出javascript跨浏览器编程的一些细微差别。
答案 1 :(得分:1)
这个答案专门用于解决缓存问题,我不能在没有看到代码的情况下对“其他”行为说太多。
当您在自动构建过程中(如果可能的话)或手动更改脚本时,您可以更新脚本引用,例如查看此页面(为简洁起见,我删除了type=""
)
<script src="http://sstatic.net/js/master.js?v=ad53a2ffc630"></script>
它曾经是一个数字,签入的变更集或其他东西,我不确定来源,并且它确实无关紧要,只要它在构建发生变化时更新。我认为它现在是某种哈希,甚至更聪明,如果 文件没有改变,用户不会在版本更改时重新下载它。
重要的一点是在文件发生时进行了更改,并且由于查询字符串,浏览器将重新下载文件,因此无需 Ctrl + F5