0

使用 Django 压缩器。想知道是否有办法获取压缩文件名,以便我可以异步加载脚本(因为 django-compressor 目前不支持)。

例如所以我可以在我的模板中做这样的事情

var compressed = {{ COMPRESSED_JS_FILENAME|undefined }};
if (compressed) {
    var script = document.createElement('script');
    script.src = compressed;
    script.setAttribute('async', True);
    document.documentElement.firstChild.appendChild(script);
}

Python 版本:2.7
Django 版本:1.4.1

4

1 回答 1

0

替代解决方案

找不到这样做的方法,所以我为页面添加了钩子以遍历标签,基本上查找已压缩的标签并向它们添加异步标签。伪代码/想法

content = BeautifulSoup(page)
scripts = [tag.extract() for tag in soup.find_all('script')]
for script in scripts:
    old_script = script
    src = script.get('src')
    if '/COMPRESSED/' in src:
        script['async'] = "True"
    page = page.replace(old_script, script) 
于 2014-03-04T19:41:21.633 回答