动态添加的样式表仅在第一个被考虑时才考虑

时间:2019-03-23 16:22:24

标签: javascript css macos cocoa wkwebview

我正在WKWebView中动态添加2个样式表,这些样式表具有使用loadFileURL加载的本地内容。

可可应用程序调用以下javascript代码段以添加样式表。

var link = document.createElement('link');
link.setAttribute('rel', 'stylesheet');
link.type = 'text/css';
link.title = csstype;
link.href = cssSheetPath1;
document.head.appendChild(link);

var link = document.createElement('link');
link.setAttribute('rel', 'stylesheet');
link.type = 'text/css';
link.title = csstype;
link.href = cssSheetPath2;
document.head.appendChild(link);

这两个样式表位于同一目录中。我可以加载第一个或第二个,但不能同时加载两个。如果我尝试同时加载两者,则仅应用第一个。

有什么想法可以解决问题吗?

1 个答案:

答案 0 :(得分:1)

您必须运行两次。创建一个函数,然后为两个样式表调用它。

exports.postImage = (req, res) => {
  console.log("IN POST IMAGE")
  console.log(req.body)
  console.log(req.files)
}

添加了一个正在运行的代码示例:codesandbox example


如果不使用函数,则应尝试使用两个不同的var名称:

const createLink = (cssSheetPath) => {
    const link = document.createElement('link');
    link.setAttribute('rel', 'stylesheet');
    link.type = 'text/css';
    link.href = cssSheetPath;
    document.head.appendChild(link);
}

createLink('style1.css');
createLink('style2.css');

我无法使用WKWebView对其进行测试。