gpt4 book ai didi

jquery - 我可以根据要求加载外部样式表吗?

转载 作者:行者123 更新时间:2023-12-03 21:27:37 25 4
gpt4 key购买 nike

$.getScript('ajax/test.js', function() {
alert('Load was performed.');
});

.. 就像上面根据请求加载外部 JS 的代码一样,是否有类似的东西可以在需要时加载外部 CSS 样式表?

例如,当我在网站上使用灯箱(内联弹出窗口)时,我希望避免加载灯箱 JS 和 CSS 文件,除非用户请求。

谢谢

最佳答案

是的:如果您创建 <link>链接到样式表的标记并将其添加到 <head>标签,浏览器将加载该样式表。

例如

$('head').append('<link rel="stylesheet" type="text/css" href="lightbox_stylesheet.css">');

但是as per @peteorpeter’s comments ,这在 IE 8 或更低版本中不起作用 - 在那里,您需要:

  1. 附加 <link> 设置其 href 之前;或
  2. 使用 IE document.createStyleSheet()方法

此外,检查链接是否已添加并不能在所有浏览器上可靠地工作。

我也会质疑你的部分前提:

I want to avoid loading lightbox JS and CSS files onload, unless requested by the user.

为什么?减少页面重量?我可以理解这种愿望,但你应该测量 CSS 和 JS 文件的大小(缩小和压缩后),其中是否包含灯箱代码,看看减少是否值得:

  1. 增加了按需加载的复杂性;和
  2. 灯箱的响应能力略有下降(因为按需加载时,灯箱必须等待自己的 CSS 和 JS 加载才能完成其任务)

经过缩小和 gzip 压缩后,很可能没有那么大的差异。

请记住,您可以指示浏览器长时间缓存您的 CSS 和 JS,这意味着只有当用户访问您的缓存为空的网站时才会下载它。

关于jquery - 我可以根据要求加载外部样式表吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2126238/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com