我的项目依赖JavaScript来动态显示超链接点击内容.为了在没有启用JavaScript的情况下使其干净地降级,我只是显示所有页面内容并使用超链接和锚点来连接各个部分.
我依靠jQuery来识别ID的超链接点击,所以没有JavaScript我需要添加锚.
这是noscript的好用吗?主要是,这总是会添加没有JavaScript的超链接吗?
<div id="link1">
<noscript><a href="#link1content"></noscript>
1. Link Name Here
<noscript></a></noscript>
</div>
Run Code Online (Sandbox Code Playgroud) 我有一个看起来像这样的页面:
<!doctype html>
<head></head>
<body>
<div>Content 1000 chars</div>
<div>Content 1000 chars</div>
<div>Content 1000 chars</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
当客户端下载页面时,基本上他正在下载3100个字符.如果他再次访问该页面并且第一个div的内容发生变化,他将不得不再次重新下载整个页面(3100个字符).
现在基本上我想知道我们能够像我们对图像一样缓存HTML片段吗?
所以我在想是否有某处可以获得这种效果:
<!doctype html>
<head></head>
<body>
<div src="page1.html"></div>
<div src="page2.html"></div>
<div src="page3.html"></div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
因此,如果我要更改page1.html的内容,浏览器将能够知道自上次访问以来仅更改了page1.html,并下载了1000个字符而不是整个页面(3100)字符.基本上这种行为与图像现在发生的情况相同:
<!doctype html>
<head></head>
<body>
<img src="img1.gif">
<img src="img2.gif">
<img src="img3.gif">
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
因此,更改img1.gif将仅调用浏览器重新下载img1.gif(假设所有其他文件尚未编辑)
要清楚,我不是在寻找一个AJAX解决方案.我需要一个无需javascript的解决方案(与上述所有示例一样).我也不是特别赞成帧解决方案,但是如果没有其他替代方案/怪癖/ 黑客,我会接受这个答案
我正在尝试将我的页面验证为HTML 5(W3c).我有以下错误:此处不允许使用"img"元素(作为"noscript"元素的子元素).当"head"的子元素时,"noscript"元素必须只包含以下子元素:"link","style"和"meta".
在网站https://developers.facebook.com/docs/ads-for-websites/conversion-pixel-code-移植推荐我的代码:"复制并粘贴升级后的代码片段<head>;和</head>;在您的HTML代码中要跟踪转化的网站.例如,要跟踪注册,请将代码放在"已完成注册"的网页上."
请看源代码:
<head>
<script type="text/javascript">
var fb_param = {};
fb_param.pixel_id = '1234567890';
fb_param.value = '10.00';
fb_param.currency = 'USD';
(function(){
var fpw = document.createElement('script');
fpw.async = true;
fpw.src = '//connect.facebook.net/en_US/fp.js';
var ref = document.getElementsByTagName('script')[0];
ref.parentNode.insertBefore(fpw, ref);
})();
</script>
<noscript><img height="1" width="1" alt="" style="display:none" src="https://www.facebook.com/offsite_event.php?id=1234567890&value=10.00¤cy=USD" /></noscript>
</head>
Run Code Online (Sandbox Code Playgroud)
是否可以修改此代码并通过验证(在head部分)?
我希望编写一个与Web of Trust API集成的扩展,以便将具有良好声誉的站点标记为自动受信任.
但是,根据我的理解,没有简单的方法可以与NoScript集成.我需要做的是检查站点是否在受信任或不受信任的列表中,并将其添加到受信任列表中(如果它还没有).
任何帮助,将不胜感激.
我正在开发一个不支持IE6或IE7的Javascript驱动的交互式工具.
如果有人使用旧的IE,或者使用禁用Javascript的浏览器,我们会给他们一些简单的静态内容作为后备:普通图像和文本.
我可以通过复制静态内容,<noscript>块中的一个副本和条件注释中的一个副本来做到这一点,像这样......
<!--[if lte IE 7]>
<div id="some-id">
<p> Some content </p>
<img src="url.com" alt="Screenshot of awesome tool" title="This is what you're missing" />
<p> Some more content </p>
<div id="some-more"> ... etc ... </div>
</div>
<![endif]-->
<noscript><![if !(lte IE 7)]>
<div id="some-id">
<p> Some content </p>
<img src="url.com" alt="Screenshot of awesome tool" title="This is what you're missing" />
<p> Some more content </p>
<div id="some-more"> ... etc ... </div>
</div>
<![endif]></noscript>
Run Code Online (Sandbox Code Playgroud)
...但如果可能的话,最好避免重复这样的内容.没有不必要的重量,更容易更新,没有任何搜索引擎机器人将隐藏的重复内容解释为关键字垃圾邮件等的风险.此外,避免重复只是一个普遍的好习惯.
(另外,我们可能会失去可怕<![if …
html javascript internet-explorer noscript conditional-comments
我试图停止加载我的PHP页面,如果用户的计算机上没有启用JavaScript.
以下方法工作正常.但请告诉我它是否经过浏览并且安全吗?
<noscript>
<?php
echo "Please Enable JavaScript in your browser!";
exit;
?>
</noscript>
<div id="main">
<!-- #header -->
<div id="header">
<div id="logo"><a href="homepage.php" title="Go to Homepage"><span><?php echo $Name;?></span></a></div>.....
Run Code Online (Sandbox Code Playgroud)
请让我知道我能做的任何其他专业方法.
PS:我的一些用户试图在页面加载后禁用JavaScript.这件事也影响了我的一些页面.因为js禁用,我在提交时得到错误的值.我想克服这种情况.
在 HTML 网页中,带有脚本阻止扩展的浏览器不会渲染 noscript 标签中的内容。
我有一个页面
http://www.zen76171.zen.co.uk/aaa2.html
用这个 HTML
<!doctype html>
<html>
<head>
<noscript>aaa</noscript>
<script>document.write("bbb")</script>
</head>
<body>
ccc
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
我知道如果浏览器没有运行 javascript,那么 noscript 标签的内容应该运行。
在 chrome 或 firefox 中,没有扩展阻止任何东西,我得到bbb ccc. 很好,有道理。'bbb' 显示是因为允许使用 javascript,而ccc显示是因为它会显示是否启用了 javascript。
如果我安装了例如 uBlock origin 扩展,或者如果在 Firefox 中我安装了 NoScript 扩展(注意 - 该扩展的名称与 noscript 标签巧合),那么当我重新加载我提到的页面时
http://www.zen76171.zen.co.uk/aaa2.html
它显示ccc. 这向我表明脚本被阻止了(因为它没有显示bbb,所以那部分(不显示bbb,很好。
但是我期望的输出是aaa ccc,因为我希望在禁用脚本和禁用脚本时显示 'aaa'。
还有一个我要解决的次要问题,那就是如果我从 Firefox 中禁用或什至“删除”NoScript 扩展,那么我仍然得到与“ccc”相同的响应,我必须卸载并重新安装 Firefox 以删除NoScript 扩展。但是现在当我想删除 NoScript 扩展时就可以了。uBlock Origin 没有这样的问题(不需要重新安装浏览器来删除它!)。因此,如果有人试图重现此问题,那么我建议他们要么使用他们拥有的脚本拦截器,要么像我一样使用 uBlock Origin。
为什么它只显示'ccc'而不显示 …
BrowserID目前使用Javascript垫片,而浏览器仍然(希望)开发支持它.对于不运行javascript的客户端,是否可以使用BrowserID?
我可以阅读600行JS shim,找出navigator.id.getVerifiedEmail要做的事情,然后在服务器上复制它,但我希望有一种更简单的方法.即便如此,我认为它不会真的奏效.
好吧,深入挖掘一下,这似乎是BrowserID意图做的外围设备,可能需要一些自定义的BrowserID验证器,但我希望有一种更简单的方法.
它是否正确?如果没有,那么正确的语法是什么
我是新手,因此想学习.
<?php
// Check browser for JavaScript support
$jsSupport='true'; ?>
<noscript><?php $jsSupport='false'; ?></noscript>
<?php
if ($jsSupport == 'false') {
include ('no-script-layout.php');
} else {
include ('regular-layout.php');
}
?>
Run Code Online (Sandbox Code Playgroud)
或者有更好的方法来处理这个问题吗?
我有一个页面,我希望根据是否启用javascript来设置不同的样式.
码:
<link rel="stylesheet" href="./css/main.css" type="text/css" />
<noscript>
<link rel="stylesheet" href="./css/noscript.css" type="text/css" />
</noscript>
Run Code Online (Sandbox Code Playgroud)
我的问题是noscript.css只覆盖了一些属性,而不是全部.因此,由于main.css在其中具有更多样式,所以它也适用.只有被覆盖的样式看起来很好.如果我删除指向main.css的链接,页面看起来就像我想要的那样.
有没有办法将所有以前的样式"重置"为默认值,或禁用noscript上main.css的链接?
谢谢!