有没有办法复制样式化HTML并获取Chrome看到的相关格式?例如,如果我复制这个问题的标题,我将其粘贴到我的新闻稿提供者(MailChimp)给我的文本编辑器中,然后切换到HTML模式,我可以看到实际复制的是:
<h1 itemprop="name" style="margin: 0px 0px 7px; padding: 0px; border: 0px; font-size: 23.3333339691162px; vertical-align: baseline; font-family: 'Trebuchet MS', 'Liberation Sans', 'DejaVu Sans', sans-serif; line-height: 1.3; background: rgb(255, 255, 255);">
<a href="http://stackoverflow.com/questions/24907135/error-cannot-read-property-of-undefined" class="question-hyperlink" style="margin: 0px; padding: 0px; border: 0px; font-size: 23.3333339691162px; vertical-align: baseline; color: rgb(0, 0, 0); text-decoration: none; cursor: pointer; background: transparent;">
How to see the hidden formats that get copied when copying HTML content?
</a>
</h1>
是否有一种简单的方法可以使用专用工具(而不是我的新闻稿提供商)提取此信息?
编辑:为了说清楚,如果我检查标题标题并单击Copy
,我会得到没有嵌入式CSS的HTML:
<h1 itemprop="name">
<a href="/questions/24907376/how-to-see-the-hidden-formats-that-get-copied-when-copying-html-content" class="question-hyperlink">How to see the hidden formats that get copied when copying HTML content?
</a>
</h1>
答案 0 :(得分:7)
您要做的是导出独立HTML。您的问题并不完全清楚,但我假设您正在尝试从您控制的网页中检索它,因此您可以运行Javascript。
这意味着,在运行时,您需要确定有效的&#39;计算&#39;每个元素的样式,并将它们应用于元素本身。之后,您只需阅读并处理包含元素的innerHTML
即可检索您的独立内容。
Read the excellent answers on this question了解如何检索每个元素的运行时计算样式。然后通过其style
属性将每个显式应用于元素本身。 innerHTML
属性将反映返回值中的这些更改。
如果您尝试执行此操作的网页在您无法控制的情况下 ,则您始终可以使用例如GreaseMonkey for Firefox或TamperMonkey for Chrome注入相同的代码。这将使它足以成为一个通用的工具&#39;。
答案 1 :(得分:1)
如果要复制HTML和CSS,可以转到HTML面板,通过“复制HTML”复制HTML,然后切换到CSS面板,启用源编辑模式,选择全部并从那里复制它。
如果您需要提取与元素相关联的所有CSS,我建议您使用Chrome扩展程序SnappySnippet。
答案 2 :(得分:0)
某些当前浏览器支持将clipboardData
属性作为粘贴事件的一部分。这应该允许您查询从剪贴板上的当前数据创建的不同数据格式。 Safari和Chrome拥有最好的支持,但仍然不完整。如果您使用XPCOM对象界面进行折扣,则Firefox不支持。 IE界面较旧,仅支持文本或URL数据。
clipboardData
property 答案 3 :(得分:0)
答案 4 :(得分:-1)