3 回答
TA贡献1799条经验 获得超6个赞
我认为最好的选择是将 HTML 页面加载到 iframe 中,从 iframe 中查询样式,然后将其附加到当前文档。
除了<style>
块之外,不会从 HTML 中复制任何内容。不过,外部 HTML 文档必须是实际的 HTML 文档 ( <html><head><style>....
),否则将无法查询页面以检索 CSS。
这是纯 JavaScript 中的示例:
// Create an iframe
const iframe = document.createElement("iframe");
// Make it not visible
iframe.style.visibility = "hidden";
// This will run once the HTML page has loaded in the <iframe>
iframe.onload = () => {
// Find the <style> element in the HTML document
const style = iframe.contentDocument.querySelector("style");
// Take that <style> element and append it to the current document's <head>
document.querySelector("head").appendChild(style);
// Remove the <iframe> after we are done.
iframe.parentElement.removeChild(iframe);
};
// Setting a source starts the loading process
iframe.src = "css.html";
// The <iframe> doesn't actually load until it is appended to a document
document.querySelector("body").appendChild(iframe);
TA贡献1966条经验 获得超4个赞
它可以以不同的方式实现。然而不是通过JS,而是PHP include
然而,为此,您的服务器需要支持 PHP,并且需要使用 PHP 而不是 HTML 作为文档。现在听起来比实际情况更复杂。要使用 PHP,必须.php在末尾调用该文档,而不是.html例如index.php。文档本身的编写方式与编写 HTML 网站的方式完全相同。
现在使用 PHP include 来解决这个问题。你将 CSS 包含为头部样式:
索引.php:
<html>
<head>
<?php
include('styles.css');
?>
</head>
<body>
content
</body>
</html>
该行<?php include('url'); ?>
会将 url 服务器端提到的文件加载到文档中。因此,您只需要创建另一个具有该名称的文件styles.css
,并以正常方式在其中写入 css 即可。
添加回答
举报