jQuery:如何从 NoScript 中获取 HTML 以显示在不同的 div 标签中?

Posted

技术标签:

【中文标题】jQuery:如何从 NoScript 中获取 HTML 以显示在不同的 div 标签中?【英文标题】:jQuery: How can I get the HTML from inside NoScript to display in a differend div tag? 【发布时间】:2011-06-02 08:17:56 【问题描述】:

我有一个小脚本可以检测用户是否在使用某个浏览器

var is_chrome = navigator.userAgent.toLowerCase().indexOf('chrome') > -1;
if(is_chrome)
    $('.ifChrome').attr('style', 'display:block;');
    $('.ifChrome').html($('noscript > div').html());
;

如果他们正在使用这个浏览器,我们希望显示一个 div 标签并显示来自不同 div 标签的 HTML。

<noscript>
    <div class="note">
        Your browser does not properly support the WMD Markdown Editor.<br />
        Please use <a href="/about/markdown" target="_blank">Markdown<.a> to style your input.
    </div>
</noscript>
<div class="hidden ifChrome note"></div>

我要做的是向使用此浏览器的用户显示我的&lt;noscript&gt; 标签中的“不支持”文本(因为 WMD Markdown 无法正常使用它)。

我现有的 javascript 无法正常工作。任何帮助将不胜感激。

【问题讨论】:

您确定它在 Chrome 中不起作用吗?它似乎对我有用...... div 显示了,但noscript &gt; div 的内容没有显示在&lt;div class="ifChrome"&gt;... 而是空白。 我的意思是 WMD Markdown 似乎有效。 部分工作,部分不工作。我无法让块引用或列表正常工作。由于 Chrome 正则表达式的工作方式,这是一个已知问题。 你不能把同样的文字放在 Chrome 笔记里吗? :)) 【参考方案1】:

这有点晚了,但你可以这样做:

var noscriptContents = $($('noscript').html());
$('.ifChrome').append(noscriptContents);

【讨论】:

【参考方案2】:

您无法在 chrome 中使用 javascript 访问 noscript-element 的内容。因此,您必须找到一种不使用 noscript 元素的不同方法。阅读有关该问题的更多信息 here

【讨论】:

也许你在 2011 年不能,但现在可以了。

以上是关于jQuery:如何从 NoScript 中获取 HTML 以显示在不同的 div 标签中?的主要内容,如果未能解决你的问题,请参考以下文章

使用 jQuery 从隐藏字段中获取值

noscript 是不是得到启用 javascript 的浏览器的确认?

如何在 <noscript> 标记中使用 <style> 元素?

如何在 PHP 中的图像下方添加 noscript 标签?

如何使 <noscript> 元素可访问?

如何在 DNN 代码隐藏中加载 Facebook Pixel NoScript 代码?