如何根据是否启用Javascript采取不同的方法?

时间:2012-02-08 16:19:05

标签: javascript html json hyperlink

我们在 PHP 项目的某些部分使用JSON。编辑部分已由JSON编程,因此href部分包含如下内容:

<a href="javascript:void(0);" id="button">Edit</a>

我们想检查一下如果Javascript被禁用,那么更改URL如下,因为如果禁用JS,上面的链接将不起作用:

<a href="./edit.php?id=12&text=some_text_here" id="button">Edit</a>

我们尝试<noscript>,但我们没有成功。如何做上面这样的事情,我们被困在这里 我提前感激。

4 个答案:

答案 0 :(得分:8)

默认为非Javascript状态,然后使用Javascript取消链接的以下内容。没有Javascript的用户将关注该链接,启用它的用户将不会。

答案 1 :(得分:1)

也许您可以使用php链接href="./edit.php?id=12&text=some_text_here"正常构建页面,并且在加载文档时执行javascript函数,该函数将href标记的<a>属性替换为{{ 1}}

使用jquery的函数示例:

javascript:void(0);

如果用户没有Javascript,则$('a.button').attr('href', 'javascript:void(0);'); 属性不会更新。

答案 2 :(得分:1)

您可能希望使用所谓的"progressive enhancement"。这基本上意味着,您编写HTML就好像未启用JavaScript一样,然后使用JavaScript来增强功能。

这通常通过在页面加载时调用的函数中附加事件,修改DOM等来实现。

答案 3 :(得分:0)

您可以这样做:

<a href="./edit.php?id=12&text=some_text_here" id="button">Edit</a>
<script type='text/javascript'>
  // ...or however you assign a click handler to the element
  document.getElementById('button').onclick = function() {
    // Do Javascript stuff here
    return false;
  };
</script>

如果您从点击处理程序返回false,则启用Javascript的浏览器将无法导航到该链接的位置。当Javascript被禁用时,链接将照常进行。