javascript - 动态加载 CSS 和 JS 文件

标签 javascript css html codeigniter

大家好。

我有一些关于动态加载 CSS 和 JS 文件的问题。

我知道周围有很多这样的问题。但我关心的是:

我应该使用后端程序来加载CSS和JS吗?

例子:

if($page == "abc.com") {
    echo "<link href='abc.css' />";
else if($page == "def.com") {
    echo "<link href='def.css' />";
else {
    echo "<link href='ghi.css' />";
}

在特定页面中使用函数加载特定 CSS,但它在 部分内声明。

Dynamically Add CSS and JS File - CodeIgniter

abc.com 内部

add_css(array('metro-admin.css', 'abc.css'));  
echo put_headers();

源代码是这样的。

enter image description here

最佳答案

好的,我有一个解决方案,不是在 PHP 中显式声明 css,而是让 PHP 回显 <script>标签是为了让 PHP 不至于过多侵入前端。

if($page == "abc.com") {
    echo "<script src='abc.js'></script>";
else if($page == "def.com") {
    echo "<script src='def.js'></script>";
else {
    echo "<script src='ghi.js'></script>";
}

好的,PHP 方面已经完成,现在我们将破解单个脚本文件中的脚本执行。

--== ABC.JS ===--

  var includeFiles = [ 
    'abc'
  ];

    for (var i = 0; i < includeFiles.length; i++) {
        $('head').append("<link rel='stylesheet' href=' +includeFiles[i]+ ".css'>");
    }

当然,您会为每个文件应用相同的代码,这可能会在 D.R.Y 上崩溃,但由于此脚本仅在 PHP 明确回显时才会执行,因此不会重复, 所以双方都有争论。

为什么要使用数组?可移植性,如果您想在每个页面添加多个 CSS 文件,那么只需将 CSS 文件名添加到数组中,循环就会相应地处理它。

关于javascript - 动态加载 CSS 和 JS 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23946595/

相关文章:

html - 如何从 Firefox 上的按钮内的渐变中删除奇怪的底部填充?

html - 来自 float div 的 CSS 填充

javascript - 没有服务器端支持的SPA的Facebook共享(托管在CDN上)

javascript - 一个字符一个字符地播放声音

javascript - 不安全的 JavaScript 尝试使用 URL 访问框架

jquery - 使透明背景与网络自动收报机分开

javascript - MongoDB 按日期查询并按距离排序(Mongoose + Express App)

css - Bootstrap 响应式布局未按要求流动

javascript - 自动生成 css 选择器的第 n 个子方法的替代方法

html - 宽度 100% 未使用全屏