0

可能重复:
如何检测 JavaScript 是否被禁用?

我需要检测浏览器中是否禁用了javascript。

为此,我在文档中放置了一个 iframe,并以 10 秒的间隔刷新页面。一旦脚本被禁用,它必须使用 javascript 错误 URL 重定向顶级父级。这是我的 iframe 代码:

<!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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<base href="http://localhost/test/" target="_top" />
<noscript>
<meta http-equiv="refresh" content="1; URL=http://localhost/test/javascript_error.php" />
</noscript>
<meta http-equiv="refresh" content="10" />
<title>Detect Script</title>
</head>
<body style="text-align:center;">
    Detecting whether javascript script is enabled/disabled in the browser.
</body>
</html>

我将标签添加到 iframe html 和重定向元标签的内容中,它应该加载到顶部父位置。

知道为什么这不起作用吗?或者我如何让这个东西工作?

谢谢


使用 xquery 或其他东西编辑 xml

我想更改 xml 文档中某些元素的属性。最简单的方法是什么?(Xquery 是最好的,或者我可以以某种方式处理 python)

更改/root/person[1]/@name"Jim"
更改/root/person[2]/@name"John"

示例.xml

<root>
    <person name="brian">
    <number>1</number>
    <school>Y</school>
    <age>18</age>
    </person>
    <person name="brian">
    <number>1</number>
    <school>Y</school>
    <age>18</age>
    </person>
</root>

Sample_result.xml

<root>
    <person name="Jim">
    <number>1</number>
    <school>Y</school>
    <age>18</age>
    </person>
    <person name="John">
    <number>1</number>
    <school>Y</school>
    <age>18</age>
    </person>
</root>
4

2 回答 2

1

base标记仅影响具有作为指定具有 URL 值的属性的内容出现的 URL 的元素,例如href.

处理启用/禁用 JavaScript 的建设性方法是首先设计一个假设 JavaScript 被禁用的页面,然后以不显眼的方式添加 JavaScript。

于 2012-08-28T07:50:53.333 回答
0

更新:我明白你想要做什么。该base标签仅适用于链接。由于这仅在禁用 JavaScript 时完成,因此 iframe 的 href 不可能更改,并且您不可能“以编程方式单击”可能引用该 JavaScript 错误页面的链接,因此使用base. 请参阅下面的解决方案。





您的代码不起作用的原因是因为大多数浏览器不会<meta http-equiv="refresh">单独呈现 2 个标签。

因此,不要写<meta http-equiv="refresh" content="10" />,只需写:

<script type="text/javascript">
setTimeout(function () {
window.location.reload();
}, 10000);
</script>
于 2012-08-28T06:26:58.683 回答