检查浏览器中是否启用了javascript

检查浏览器中是否启用了javascript,javascript,html,search,browser,seo,Javascript,Html,Search,Browser,Seo,我有一段代码,检查js是否启用并重定向: <noscript><meta http-equiv="refresh" content="0;url=http://www.domain.se/act.html"></noscript> 然而,我想知道这是否是友好的 这是因为我最近将我的网站url添加到了yahoo,搜索结果中出现的不是标题,而是上面“aktivera_javascript.html”中的文本。为什么呢 谢谢 更新: 如果上面的代码不适合检查j

我有一段代码,检查js是否启用并重定向:

<noscript><meta http-equiv="refresh" content="0;url=http://www.domain.se/act.html"></noscript>

然而,我想知道这是否是友好的

这是因为我最近将我的网站url添加到了yahoo,搜索结果中出现的不是标题,而是上面“aktivera_javascript.html”中的文本。为什么呢

谢谢

更新:


如果上面的代码不适合检查js可用性,那么我应该使用什么其他方法来代替?

noscript标记用于无法执行脚本的用户代理。自从雅虎!spider是这些代理之一,我猜(但不能确定)它尊重
noscript
标记的内容,因此也尊重其中包含的HTTP refresh指令。结果是,它认为你的网站存在,并在搜索结果中显示该内容

要解决此问题,我建议:

  • 用于确保基本内容在不使用Javascript的情况下可用,并在顶部添加高级功能。没有Javascript的用户代理不会知道有什么不同,而有Javascript的用户代理将获得更丰富的体验
  • 只需将noscript标记用作警告,而不是完全重定向到另一个页面,请参阅

  • 我想你不明白这个标签。
    noscript
    的内容将仅显示脚本(如JavaScript)是否未启用。 (大多数)搜索引擎无法理解JS并执行
    noscript
    中的内容。因此,在您的情况下,它们遵循url

    但是要小心。用这种方法你可以很快得到惩罚。
    noscript
    最常用于向用户显示javascript被禁用的通知。

    就个人而言,我认为渐进式增强是一种方法。不管怎样,您可以尝试以下方法:

    默认情况下,让用户到达非js页面。在页面上,有一个加载时运行的脚本:

    <script type="text/javascript">
      window.location.href = 'page-with-javascript.html';
    </script>
    
    
    window.location.href='page with javascript.html';
    
    如果用户启用了javascript,他们将立即被带到javascript友好版本


    但是是的。。渐进增强:)

    我还没有更新网站。。。那么,我应该使用什么其他方法来检查js是否已启用?如果我使用带有警告的noscript标记,搜索引擎是否仍会读取该标记并将其显示在搜索结果中?@roryf:progressive enhancement链接在URL的末尾有一个无关的“1.”。@camran,仅当这是您网站上的第一个文本时。看看它是如何做到的,在顶部使用一个空的
    noscript
    标记,并将真实的标记(标记中最后一个)放在上面。是的,但是如果我有一个通知,那么搜索引擎不会像你说的那样遵循该noscript,并在搜索结果中显示该通知吗?是的,他们会这样做。但是您可以将rel=“nofollow”atribute添加到您的链接中。mos SE不遵循此链接。或者您可以通过robots.txt阻止该站点。您可以将信息包装到图像中。