我注意到在很多模板引擎中,在HTML5 Boilerplate中,在各种框架和普通的php站点中都有no-js类添加到<HTML>标签上.
为什么这样做?是否存在某种对此类做出反应的默认浏览器行为?为什么总是包括它?如果没有no-"no-js"情况并且html可以直接解决,那么这不会使类本身过时吗?
以下是HTML5 Boilerplate index.html中的示例:
<!--[if lt IE 7 ]> <html lang="en" class="no-js ie6"> <![endif]-->
<!--[if IE 7 ]> <html lang="en" class="no-js ie7"> <![endif]-->
<!--[if IE 8 ]> <html lang="en" class="no-js ie8"> <![endif]-->
<!--[if IE 9 ]> <html lang="en" class="no-js ie9"> <![endif]-->
<!--[if (gt IE 9)|!(IE)]><!--> <html lang="en" class="no-js"> <!--<![endif]-->
Run Code Online (Sandbox Code Playgroud)
如您所见,<html>元素将始终具有此类.有人可以解释为什么经常这样做吗?
使用$('html').html()我可以得到内的HTML <html>标签(<head>,<body>,等).但是如何获得<html>标签的实际HTML (带属性)?
或者,是否可以<html>使用jQuery(或普通的旧JavaScript)获取页面的整个HTML(包括doctype 等)?
由于element.classListIE 9和Safari-5不支持,什么是替代的跨浏览器解决方案?
没有框架请.
解决方案必须至少适用于IE 9,Safari 5,FireFox 4,Opera 11.5和Chrome.
相关帖子(但不包含解决方案):
我正在尝试针对开发人员的Google文档优化CSS交付https://developers.google.com/speed/docs/insights/OptimizeCSSDelivery#example
正如您在内联一个小CSS文件的示例中所看到的那样,内联中的内核中的关键CSS和原始的small.css在页面加载后加载.
<html>
<head>
<style>
.blue{color:blue;}
</style>
</head>
<body>
<div class="blue">
Hello, world!
</div>
</body>
</html>
<noscript><link rel="stylesheet" href="small.css"></noscript>
Run Code Online (Sandbox Code Playgroud)
关于这个例子的问题:
如何在页面加载后加载大型css文件?
我已经制作了我网站的移动版本.然而,当加载页面时,首先显示该站点而不应用CSS,并且在一秒钟之后(最多)它应用CSS并正确地呈现它.这种行为在所有浏览器(包括移动浏览器)中都是一致的.
你有什么想法,我怎么能强制浏览器首先加载CSS(其尺寸非常小)然后呈现内容?我已经看到了将CSS文件包含在外面的东西head,但据我所知这是违反规范的,我担心这样的黑客可能会在某些移动浏览器上制造东西.
谢谢!
这是源头
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Albite BOOKS mobile</title>
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8"/>
<meta name="description" content="Free e-books for Java Mobile phones."/>
<meta name="keywords" content="free ebooks, free books, book reader, albite reader, albite books, java mobile"/>
<meta name="language" content="en_GB"/>
<meta name="classification" content="public"/>
<link rel="shortcut icon" href="favicon.ico" />
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />
<link href="/stylesheets/mobile.css?1289644607" media="screen" rel="stylesheet" type="text/css" />
</head>
<body>
<!-- .... --> …Run Code Online (Sandbox Code Playgroud) 只有在加载内容时,才有很多显示页面的方法,但是关于SEO的最佳方法是什么?
内容是:图片,css,js等。
Google机器人是否足够聪明,无法对具有此类技巧的网页编制索引?
- CSS
<body> display none。- JavaScript添加
display none,on_event_i_am_ready,删除display none。<body> margin -20000px。- 全白div
z-index>正文z-index。- 身体
height & width要0px与overflow: hidden;- 还有更多解决方案...
我想创建一个等待页面,我可以在执行一些长函数之前呈现这个页面。当它完成时,它将重定向到成功页面作为回报。这是一个简单的代码示例
@app.route("/process", methods=['GET', 'POST'])
def process():
with app.app_context():
data = render_template('waiting.html')
### .. Do something long and have to wait .. ###
# e.g. sleep a few seconds
return redirect(url_for('success'))
Run Code Online (Sandbox Code Playgroud)
发生的事情是该行data = render_template('waiting.html')似乎没有执行。我看到的是一段时间的空白屏幕(因为它是下面的处理功能)。并且,当它完成时,它会按预期显示成功页面。
以前在这里问过很多问题,这似乎是一项简单的任务。但是这些解决方案对我不起作用。我的目标只是在执行任务之前显示模板。这样用户就会看到他们的请求正在进行中。
这是我尝试过的。
如果我误解了 Flask 的概念,请告诉我。谢谢!
可能重复:
如何让浏览器等待显示页面,直到它完全加载?
我有一个简单的网站,我想保持它的开放时间为X ms,然后我确定它已全部加载(例如图像).有没有办法一次性完成整个页面?
我已经有一些淡入淡出来打开网站的各个div但是我希望只有在页面等待"加载"设置的那些X ms之后才会发生淡入淡出.
谢谢.