当前位置:  开发笔记 > 编程语言 > 正文

有没有一种简单的方法来重新加载CSS而无需重新加载页面?

如何解决《有没有一种简单的方法来重新加载CSS而无需重新加载页面?》经验,为你挑选了6个好方法。

我正在尝试使用预览功能制作一个实时的页内css编辑器,该功能可以重新加载样式表并应用它而无需重新加载页面.最好的方法是什么?



1> harto..:

可能不适用于您的情况,但这是我用于重新加载外部样式表的jQuery函数:

/**
 * Forces a reload of all stylesheets by appending a unique query string
 * to each stylesheet URL.
 */
function reloadStylesheets() {
    var queryString = '?reload=' + new Date().getTime();
    $('link[rel="stylesheet"]').each(function () {
        this.href = this.href.replace(/\?.*|$/, queryString);
    });
}


这个非jquery one-liner在chrome中适用于我:`var links = document.getElementsByTagName("link"); for(var i = 0; i 您可以使用http://ted.mielczarek.org/code/mozilla/bookmarklet.html将其设为书签

2> nickf..:

在"编辑"页面上,不是以正常方式包含CSS(带标记),而是将其全部写入

Javascript,使用jQuery:

jQuery(function($) {
    var $ed = $('#editor')
      , $style = $('#styles')
      , $button = $('#preview')
    ;
    $ed.val($style.html());
    $button.click(function() {
        $style.html($ed.val());
        return false;
    });
});

这应该是它!

如果你想要真正的花哨,将功能附加到textarea上的keydown,虽然你可能会得到一些不必要的副作用(页面会在你键入时不断变化)

编辑:测试和工作(在Firefox 3.5中,至少,但对其他浏览器应该没问题).请参阅此处的演示:http://jsbin.com/owapi


`innerHTML`上的IE barf为`
帆侮听我悄悄说星星
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有