使用脚本标记模拟XMP标记并允许复制内容

问题描述 投票:6回答:2

官方<xmp></xmp>已被弃用(但仍受主流浏览器支持),因此,对于新应用程序合法的一面,唯一的解决方法是替换xmp标签(不解析HTML的标签)将使用我发现:<script type="text/plain">...</script>

使用此解决方案一切正常,但Firefox(仅限)阻止复制/粘贴<script type="text/plain"></script>标记中包含的内容。

要求在bugzilla上修复它可能需要10到15年,因为它与类似的firefox的问题,当我在这里问,可能有人得到一些解决方法,允许复制/粘贴内容包含在can't copy content from disabled text/textarea elements或可能有一些东西更好的<script type="text/plain">...</script>标签替换与当今的浏览器和规则兼容。

下面是一个例子,我是如何使用xmp

<script type="text/plain">...</script>

附:

为了防止优惠使用<!doctype html> <html lang="en"> <head> <title>Attempt to emulate depricated XMP tag</title> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <style> script[type="text/plain"] { display: block; width: 100%; white-space: pre; box-sizing: border-box; user-select:text !important; } </style> </head> <body> <script type="text/plain" readonly> Try to select then copy and paste me somewhere else ... and you will fail... WITH FireFox ONLY !!! <p>raw HTML tag "p" here for example</p> </script> </body> </html> 或修改原始内容的其他解决方案(转换为HTML实体),我应该说, - 它对我不起作用,我必须在<pre>标签内有原始原始内容。

html css html5 css3 firefox
2个回答
2
投票

好吧,我会回答我自己的问题:

<script>它被接受并且解决得非常快(非常感谢!!!)。所描述的问题在Firefox中已得到修复,其行为方式与从版本68开始的所有其他支持的浏览器相同,因此现在使用I reported to mozilla this issue as a bug标记替代<script>标记。


0
投票

textarea将显示原始HTML内容。与脚本解决方案不同,将其设置为只读将允许在Firefox中复制/粘贴内容。

有几个缺点:

  1. 您不能将<xmp>作为原始代码的一部分。
  2. textarea需要手动设置其宽度和高度以适合内容。

</textarea>
.rawcode {
    resize: none;
    border: 0;
    outline: 0;
    background-color: #fff;
}
© www.soinside.com 2019 - 2024. All rights reserved.