我一直在研究利用HTML5历史api aka psuhState的最佳方法,并为HTML4浏览器提供适当的后备.
Github使用历史api进行树浏览(以下链接只是一个例子,而不是库github使用的):
https://github.com/browserstate/History.js/
我无法弄清楚他们如何处理Firefox 3.5等HTML4浏览器的这项功能?
我特别关注history.js(上面已经链接)来处理这类事情.但它需要HTML4浏览器的哈希#实现,我想避免.
如果您访问Github并使用HTML4浏览器浏览目录树,它看起来与HTML5浏览器相同(即url状态).
如果我在FF3.5中禁用JavaScript,之前的URL如下所示:
https://github.com/browserstate/history.js/tree/master/tests
现在看起来像这样:
https://github.com/browserstate/history.js/tree/a32e91aa1fe5909a29abb690a37f6c129e98068e/tests
有什么想法吗?
我有以下代码:
$(function(){
var total_click = 0;
$("#mapKey a.showKey").click(function(){
total_click = total_click + 1;
$("#counter").text("I cheated " + total_click + " whole" + (total_click = 1 ? + ' time' + ((total_click > 1) ? 's ' : ' ') : ''));
return false;
});
});
Run Code Online (Sandbox Code Playgroud)
我试图让它输出如下:
点击一次:“我一直作弊1次。”
不止一次点击:“我欺骗了X次。”
-- 在“times”末尾加“s”。
计数器工作正常,这只是我遇到困难的使“时间”或“时间”正确显示的最后一部分。
有什么想法我做错了吗?
谢谢!
我知道这在jQuery中很容易做到,但我试图在JavaScript中做到这一点.
我有这个:
window.addEventListener('load', function() {
function replaceName() {
var oldText= "Mobile";
var newText = "Stackoverflow";
var oldString= document.getElementById('replace').innerHTML;
var newString = oldString.replace(/oldText/g, newText);
document.getElementById('replace').innerHTML = newString;
}
replaceName();
}, false);
Run Code Online (Sandbox Code Playgroud)
不确定我做错了什么?有什么想法吗?
谢谢
javascript ×2
counter ×1
github ×1
history.js ×1
html5 ×1
pluralize ×1
pushstate ×1
replace ×1
url ×1