Jak*_*ski 1 javascript graceful-degradation unobtrusive-javascript
我试图遵循不引人注目的JavaScript /优雅降级的技术.我想在启用JavaScript时以及关闭JavaScript时使用不同的链接提供页面.
例如,当JavaScript关闭时,链接就是
<a href="script.cgi?a=action">
Run Code Online (Sandbox Code Playgroud)
并且当JavaScript打开时
<a href="script.cgi?a=action;js=1">
Run Code Online (Sandbox Code Playgroud)
(或类似的东西).
链接的两个版本(使用JavaScript和不使用JavaScript)都会导致服务器端脚本,但具有不同的参数.在JavaScript关闭时要调用的版本在服务器上执行的操作更多,因此在那里检测JavaScript是非生产性的(例如,从非JavaScript的服务器脚本重定向到另一个版本window.location).
注意:我更喜欢不使用jQuery等JavaScript库/框架的解决方案.
好吧,答案是使用非Javascript链接呈现页面正常.然后获取Javascript以替换JS = 1版本的链接.
var links = document.getElementsByTagName('a');
for (var i=0;i<links.length;i++) {
links[i].href += ";js=1";
}
Run Code Online (Sandbox Code Playgroud)