1

问题是:我正在构建一个 Google Chrome 扩展程序,我希望用户在 2 个内容脚本设计(2 个 css 文件)之间进行选择。到目前为止,我找到了两个解决方案:

1)使用https://developer.chrome.com/extensions/tabs.html#method-insertCSS

chrome.tabs.insertCSS(integer tabId, InjectDetails details, function callback) 

2) 仅使用 javascript 更改 css 样式。

我想知道哪个是最佳实践。尽管在 javascript 中修改所有内容似乎有点疯狂:p。当然,如果您有 3d 和更好的解决方案,那就太好了。

4

2 回答 2

1

你能用这个做点什么吗:

<link class='mystyle' href="style1.css" rel="stylesheet" type="text/css">

给链接标签一个类名可以使用 jQuery 更改 href 属性。

$(".mystyle").prop("href", "style2.css");

我对单个 div 元素进行了快速测试,它似乎工作正常。

把它写成一个语句:

if ( choosestyle1 == true) {
       $(".mystyle").prop("href", "style1.css");
} else {
       $(".mystyle").prop("href", "style2.css");
}

预加载样式表:

var stylesheets = Array("style1.css", "style2.css");
stylesheets.forEach(function(arg){
    $("<div />").load(arg);
});
于 2013-02-26T15:55:49.157 回答
0

Paul 我对开发 Chrome 扩展了解不多,但HTML 基本想法是告诉浏览器当前的 CSS。

您必须coockie通过 javascript 设置一个告诉页面CSS要使用的页面,并且每当您切换到另一个CSS时,修改 cookie。

请参考这个链接,这里有一个demo下载

于 2013-03-14T12:17:24.067 回答