Autoprefixer过滤器不工作在Flask_Assets中 [英] Autoprefixer Filter Not Working in Flask_Assets

查看:264
本文介绍了Autoprefixer过滤器不工作在Flask_Assets中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图通过按照 Flask_Assets文档,但似乎没有应用过滤器。这里是我的代码:

$ b $> $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $' {'import_name':__name__}
flask_app =烧瓶(** flask_args)

from flask_assets导入环境,包$ b $ assets =环境(flask_app)
assets.config ['AUTOPREFIXER_BIN'] ='postcss'
assets.config ['AUTOPREFIXER_BROWSERS'] = ['> 1%']
css_min = Bundle('../ styles / mycss.css',filters ='autoprefixer',output ='styles / test.css')
assets.register('css_assets' ,css_min)

@ flask_app.route('/')
def landing_page():
html ='<!DOCTYPE HTML PUBLIC - // W3C // DTD HTML 3.2 Final // EN> \
< head> {%assetscss_assets%} \
< link rel =stylesheethref ={{ASSET_URL}} \
{%endassets%} \
< / head> \ <br/>< h1> Hello World< / h1> \ <br/>< p>只是一个烧瓶测试< / p>'<br/> return render_template_string(html),200 <br/> <br/>如果__name__ =='__main__':<br/> flask_app.run(host ='0.0.0.0',port = 5000)<br/> </code> </pre><p>我已经能够成功应用cssmin,pyscss,uglifyjs和jsmin过滤器。我也可以在命令行上运行autoprefixer来成功编译转换后的输出:<b> <br/> <br/> </p><pre> <code> postcss --use autoprefixer --autoprefixer.browsers > 1%-o test.css mycss.css <br/> </code> </pre><p>但是,当试图运行autoprefixer通过flask_assets注册,该过程既不会引发错误,也不会花费所需的时间进行编译。它确实会生成输出文件,但是当我检查生成的文件时,没有应用前缀。</p> <br/> <br/> <p> <strong>更新:</strong>每当尝试为ANY过滤器配置选项时都会发生。我一直无法让uglifyjs接受'UGLIFYJS_EXTRA_ARGS',或者让pyscss过滤器使用'PYSCSS​​_STYLE'来采用新的样式。我尝试使用os.environ ['AUTOPREFIXER_BIN']将这些配置设置为环境变量,并尝试通过flask.config ['AUTOPREFIXER_BIN']传递它们。但是在运行过滤器时,没有应用配置设置。我也不清楚在代码本身的哪个地方,配置选项是由Bundle或Environment构建的。</p> <br/> <br/> <p> <a href =https://stackoverflow.com / questions / 36404392 / how-to-pass-filter-specific-configuration-options-in-webassets>一个SO帖子</a>声称已经找到一种方法来使配置设置生效,但帖子没有显示如何设置flask_assets来获取这些选项的整个工作流程。<br/> <br/> <p>也许有人可以帮助我理解我在做什么错误?<br/> </p><div class =h2_lin>解决方案</div><p> <h3> Autoprefixer:</h3> <br/> <br/> <p> 。您只是没有使用最新版本的<a href=\"https://github.com/postcss/autoprefixer/releases\" rel=\"nofollow noreferrer\" title=\"Releases Link\"> Autoprefixer </a> 。如果你看看这个链接中的发行版的历史,从版本<a href =https://github.com/postcss/autoprefixer/releases/tag/6.0.0 =nofollow noreferrertitle =6.0 .0 Notes> 6.0.0 </a>,它开始使用<a href =/ questions / tagged / postcssclass =post-tagtitle =显示标记的问题postcss' =tag > postcss </A>。您的代码将适用于6.0.0以前的版本。</p> <br/> <br/> <p> Webassets已经为版本提供了支持<a href =https://github.com/miracle2k/webassets/ (包括)之后,通过提供<code> /blub/master/src/webassets/film/autooprefixer.py#L60\" rel =nofollow noreferrertitle =Source Link> autoprefixer6 </code> filter。</p> <br/> <br/> <p>因此,您只需要在初始化包时更改过滤器,如下所示:</p> <br/> <br/> $ p code $ css_min = Bundle('../ styles / mycss.css',filters ='autoprefixer6',output ='styles / test.css' )<br/> </code> </pre><p> <br/> <br/> <hr> <br/> <br/> <h3>其他过滤器的配置:</h3> <br/> <br/> <p>不要使用<code> os.environ </code>,这不是为Flask和<a href =/ question-tagged / flask-extensionsclass =post-tagtitle =显示问题已标记'flask-extensions'rel =tag> flask-extensions </a>。为扩展设置配置的最常见(也是首选)方式是使用配置本身,而在大型项目中,这是使用单独的配置文件完成的。这些扩展将从flask的配置文件中取得它的配置选项。<br/> <br/> <p>根据你使用的扩展名,你也可以像你一样单独设置配置,但是很少使用,从我目前看到的。</p> <br/> <br/> <p>请检查Flask的<a href =http://flask.pocoo.org/docs/0.12/config/ rel =nofollow noreferrertitle =Config Docs>配置相关文档</a>,了解如何正确设置应用程序配置的一些很好的例子。</p> <br/> <br/> <hr > <br/> <br/> </p><pre> <code> from flask import Flask,render_template_string $ b $ from flask_assets import Environment,Bundle <br/> <br/>#构建flask应用程序对象<br/> flask_args = {'import_name':__name__} <br/> flask_app = Flask(** flask_args)<br/> $ b assets = Environment(flask_app)<br/>#指定bin路径(可选),仅在全局安装时才需要<br/> assets.config ['AUTOPREFIXER_BIN'] ='path / to / postcss'<br/> assets.config ['AUTOPREFIXER_BR OWSERS'] = ['> 1%',] <br/>#使用autoprefixer6更新过滤器<br/> css_min = Bundle('../ styles / mycss.css',filters ='autoprefixer6',<br/> output ='styles / test .css')<br/> assets.register('css_assets',css_min)<br/> <br/> $ b $ flask_app.route('/')<br/> def landing_page():<br/> html ='<!DOCTYPE HTML PUBLIC - // W3C // DTD HTML 3.2 Final // EN> \ <br/>< head> {%assetscss_assets%} \ <br/>< link rel =stylesheethref ={{ASSET_URL}}type =text / css> \ <br/> {%endassets%} \ <br/>< title> Hello< ; / title> \ <br/>< / head> \ <br/>< h1> Hello World< / h1> \ <br/>< p>只是一个烧瓶的测试< / p> '<br/>返回render_template_string(html),200 <br/> <br/> $ b如果__name__ =='__main__':<br/> flask_app.run(host ='0.0.0.0',port = 5000)<br/> </code> </pre><p>记得清理p重新生成的文件,如果源css / js没有改变,即删除输出文件,和<code> .webassets-cache </code>文件夹。</p> <br/> <br/> <p> <sub> 1 </sub> <sup>除了代码风格&格式化约定!</sup> </p> <br/><p>I have tried to get the autoprefixer filter to work with flask_assets by following the instructions in the <a href="https://webassets.readthedocs.io/en/latest/builtin_filters.html#autoprefixer" rel="nofollow noreferrer">Flask_Assets documentation</a>, but it does not appear to apply the filter. Here is my code:</p><pre><code># construct flask app object from flask import Flask, render_template_string flask_args = { 'import_name': __name__ } flask_app = Flask(**flask_args) from flask_assets import Environment, Bundle assets = Environment(flask_app) assets.config['AUTOPREFIXER_BIN'] = 'postcss' assets.config['AUTOPREFIXER_BROWSERS'] = [ '> 1%' ] css_min = Bundle('../styles/mycss.css', filters='autoprefixer', output='styles/test.css') assets.register('css_assets', css_min) @flask_app.route('/') def landing_page(): html = '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">\ <head>{% assets "css_assets" %}\ <link rel="stylesheet" href="{{ ASSET_URL }}" type="text/css">\ {% endassets %}\ <title>Hello</title>\ </head>\ <h1>Hello World</h1>\ <p>Just a test of flask</p>' return render_template_string(html), 200 if __name__ == '__main__': flask_app.run(host='0.0.0.0', port=5000) </code></pre><p>I have been able to apply the cssmin, pyscss, uglifyjs and jsmin filters successfully. I can also run autoprefixer on the command line to successfully compile a transformed output: </p><pre><code>postcss --use autoprefixer --autoprefixer.browsers "> 1%" -o test.css mycss.css </code></pre><p>However, when trying to run autoprefixer through flask_assets registration, the process neither throws an error nor does it seem to take the required time to compile. It does produce the output file but when I examine the resulting file, none of the prefixes have been applied.</p> <p><strong>UPDATE:</strong> This problem seems to occur whenever attempting to configure options for ANY filter. I have not been able to get uglifyjs to accept 'UGLIFYJS_EXTRA_ARGS' or for the pyscss filter to adopt a new style using 'PYSCSS_STYLE' either. I have tried to set these configuration as environmental variables using os.environ['AUTOPREFIXER_BIN'] as well as attempting to pass them through flask.config['AUTOPREFIXER_BIN']. But none of the configuration settings have been applied when the filter is run. It is also not clear to me where in the code itself the configuration options are constructed by either Bundle or Environment.</p> <p><a href="https://stackoverflow.com/questions/36404392/how-to-pass-filter-specific-configuration-options-in-webassets">One SO post</a> claims to have found a way to get a configuration setting to work, but the post does not show the entire workflow of how flask_assets needs to be setup to ingest these options.</p> <p>Perhaps someone can help me understand what I am doing wrong?</p><div class="h2_lin"> 解决方案 </div><p><h3>Autoprefixer:</h3> <p>There is nothing wrong with your code<sup>1</sup>. You are just not using the correct filter for the latest version of <a href="https://github.com/postcss/autoprefixer/releases" rel="nofollow noreferrer" title="Releases Link">Autoprefixer</a>. If you look at the history of the releases in that link, since version <a href="https://github.com/postcss/autoprefixer/releases/tag/6.0.0" rel="nofollow noreferrer" title="6.0.0 Notes">6.0.0</a>, it started using <a href="/questions/tagged/postcss" class="post-tag" title="show questions tagged 'postcss'" rel="tag">postcss</a>. Your code will work for versions older than 6.0.0.</p> <p>Webassets has provided support for versions <a href="https://github.com/miracle2k/webassets/blob/master/src/webassets/filter/autoprefixer.py#L60" rel="nofollow noreferrer" title="Source Link">after 6.0.0</a> (inclusive), by providing the <code>autoprefixer6</code> filter.</p> <p>Therefore all you have to do is change the filter(s) while initializing your bundle, like so:</p><pre><code>css_min = Bundle('../styles/mycss.css', filters='autoprefixer6', output='styles/test.css') </code></pre><p> <hr> <h3>Other Filters' Configurations:</h3> <p>Don't use <code>os.environ</code>, that is not the way to set configuration variables for Flask and <a href="/questions/tagged/flask-extensions" class="post-tag" title="show questions tagged 'flask-extensions'" rel="tag">flask-extensions</a>. The most common (and preferred) way to set configuration for extensions is by using the flask Config itself, and in large projects this is done using a separate config file. The extensions will pickup its configuration options from flask's config.</p> <p>Depending on which extension you use, you can also set the config separately like you have done, but that is rarely used, from what I have seen so far.</p> <p>Please check the Flask's <a href="http://flask.pocoo.org/docs/0.12/config/" rel="nofollow noreferrer" title="Config Docs">Configuration related documentation</a> for some good examples on how to setup configuration for your app "properly".</p> <hr> </p><pre><code>from flask import Flask, render_template_string from flask_assets import Environment, Bundle # construct flask app object flask_args = {'import_name': __name__} flask_app = Flask(**flask_args) assets = Environment(flask_app) # specify the bin path (optional), required only if not globally installed assets.config['AUTOPREFIXER_BIN'] = 'path/to/postcss' assets.config['AUTOPREFIXER_BROWSERS'] = ['> 1%', ] # use the autoprefixer6 updated filter css_min = Bundle('../styles/mycss.css', filters='autoprefixer6', output='styles/test.css') assets.register('css_assets', css_min) @flask_app.route('/') def landing_page(): html = '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">\ <head>{% assets "css_assets" %}\ <link rel="stylesheet" href="{{ ASSET_URL }}" type="text/css">\ {% endassets %}\ <title>Hello</title>\ </head>\ <h1>Hello World</h1>\ <p>Just a test of flask</p>' return render_template_string(html), 200 if __name__ == '__main__': flask_app.run(host='0.0.0.0', port=5000) </code></pre><p>Remember to clean out the previously generated files, if the source css/js has not changed, i.e remove the output files, and the <code>.webassets-cache</code> folder.</p> <p><sub>1</sub><sup>Except for code style & formatting conventions!</sup></p> <p>这篇关于Autoprefixer过滤器不工作在Flask_Assets中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!</p> </div> <div class="arc-body-main-more"> <span onclick="unlockarc('765372');">查看全文</span> </div> </div> <div> </div> <div class="wwads-cn wwads-horizontal" data-id="166" style="max-width:100%;border: 4px solid #666;"></div> </div> </article> <div id="arc-ad-2" class="mb-1"> <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-5038752844014834" crossorigin="anonymous"></script> <ins class="adsbygoogle" style="display:block" data-ad-format="autorelaxed" data-ad-client="ca-pub-5038752844014834" data-ad-slot="3921941283"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> <div class="widget bgwhite radius-1 mb-1 shadow widget-rel"> <h5>相关文章</h5> <ul> <li> <a target="_blank" title="Symfony过滤器不工作" href="/648655.html"> Symfony过滤器不工作; </a> </li> <li> <a target="_blank" title="角过滤器不工作" href="/202889.html"> 角过滤器不工作; </a> </li> <li> <a target="_blank" title="angularjs 过滤器(不工作)" href="/2524314.html"> angularjs 过滤器(不工作); </a> </li> <li> <a target="_blank" title="angularjs过滤器(不工作)" href="/198709.html"> angularjs过滤器(不工作); </a> </li> <li> <a target="_blank" title="AVAudioUnitEQ / .BandPass过滤器不工作" href="/525621.html"> AVAudioUnitEQ / .BandPass过滤器不工作; </a> </li> <li> <a target="_blank" title="日期过滤器gridmvc不工作" href="/281404.html"> 日期过滤器gridmvc不工作; </a> </li> <li> <a target="_blank" title="angularjs过滤器不工作$ HTTP" href="/202447.html"> angularjs过滤器不工作$ HTTP; </a> </li> <li> <a target="_blank" title="轮胎术语过滤器不工作" href="/670723.html"> 轮胎术语过滤器不工作; </a> </li> <li> <a target="_blank" title="过滤器不工作的日期" href="/2409175.html"> 过滤器不工作的日期; </a> </li> <li> <a target="_blank" title="过滤器:模糊不工作在MS边缘" href="/565026.html"> 过滤器:模糊不工作在MS边缘; </a> </li> <li> <a target="_blank" title="在NG-选项过滤器不工作" href="/204459.html"> 在NG-选项过滤器不工作; </a> </li> <li> <a target="_blank" title="过滤器不工作从资源阵列" href="/243861.html"> 过滤器不工作从资源阵列; </a> </li> <li> <a target="_blank" title="复杂的jQuery过滤器()不工作" href="/757236.html"> 复杂的jQuery过滤器()不工作; </a> </li> <li> <a target="_blank" title="FOS弹性嵌套过滤器不工作" href="/671351.html"> FOS弹性嵌套过滤器不工作; </a> </li> <li> <a target="_blank" title="Django布尔查询过滤器不工作" href="/639939.html"> Django布尔查询过滤器不工作; </a> </li> <li> <a target="_blank" title="使用Logstash CSV过滤器不工作" href="/585528.html"> 使用Logstash CSV过滤器不工作; </a> </li> <li> <a target="_blank" title="角JS日期过滤器不工作" href="/197425.html"> 角JS日期过滤器不工作; </a> </li> <li> <a target="_blank" title="Winapi GetOpenFileName扩展过滤器不工作" href="/496791.html"> Winapi GetOpenFileName扩展过滤器不工作; </a> </li> <li> <a target="_blank" title="过滤器在AngularJS中如何工作?" href="/1681451.html"> 过滤器在AngularJS中如何工作?; </a> </li> <li> <a target="_blank" title="extjs bbar过滤器不按需要工作?" href="/746631.html"> extjs bbar过滤器不按需要工作?; </a> </li> <li> <a target="_blank" title="意图过滤器路径preFIX以'#'不工作" href="/81674.html"> 意图过滤器路径preFIX以'#'不工作; </a> </li> <li> <a target="_blank" title="角过滤器 - 与controllerAs语法不工作" href="/203657.html"> 角过滤器 - 与controllerAs语法不工作; </a> </li> <li> <a target="_blank" title="DateBetweenFilter过滤器不工作在烧瓶管理员" href="/504293.html"> DateBetweenFilter过滤器不工作在烧瓶管理员; </a> </li> <li> <a target="_blank" title="Flask-Admin默认过滤器" href="/764340.html"> Flask-Admin默认过滤器; </a> </li> <li> <a target="_blank" title="Flask-Admin 默认过滤器" href="/2669305.html"> Flask-Admin 默认过滤器; </a> </li> </ul> </div> <div class="mb-1"> <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-5038752844014834" crossorigin="anonymous"></script> <ins class="adsbygoogle" style="display:block" data-ad-format="autorelaxed" data-ad-client="ca-pub-5038752844014834" data-ad-slot="3921941283"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> </div> <div class="side"> <div class="widget widget-side bgwhite mb-1 shadow"> <h5>Python最新文章</h5> <ul> <li> <a target="_blank" title="类型错误:只有长度为1的阵列可以尝试拟合指数的数据转换到Python标量" href="/235728.html"> 类型错误:只有长度为1的阵列可以尝试拟合指数的数据转换到Python标量; </a> </li> <li> <a target="_blank" title="bs4.FeatureNotFound:找不到一棵树建设者您所要求的功能:LXML。你需要安装一个解析器库?" href="/330648.html"> bs4.FeatureNotFound:找不到一棵树建设者您所要求的功能:LXML。你需要安装一个解析器库?; </a> </li> <li> <a target="_blank" title="系列的真值是不明确的。使用a.empty,a.bool(),a.item(),a.any()或a.all()" href="/604206.html"> 系列的真值是不明确的。使用a.empty,a.bool(),a.item(),a.any()或a.all(); </a> </li> <li> <a target="_blank" title="(unicode错误)'unicodeescape'编解码器无法解码位置2-3中的字节:truncated \UXXXXXXXX escape" href="/585928.html"> (unicode错误)'unicodeescape'编解码器无法解码位置2-3中的字节:truncated \UXXXXXXXX escape; </a> </li> <li> <a target="_blank" title="将pandas dataframe中的列从int转换为string" href="/906682.html"> 将pandas dataframe中的列从int转换为string; </a> </li> <li> <a target="_blank" title="Python:由实例对象调用方法:“missing 1 required positional argument:'self'”" href="/512813.html"> Python:由实例对象调用方法:“missing 1 required positional argument:'self'”; </a> </li> <li> <a target="_blank" title="Sparksql过滤与多个条件(与where子句中选择)" href="/220716.html"> Sparksql过滤与多个条件(与where子句中选择); </a> </li> <li> <a target="_blank" title="JSONDe codeError:期待值:1行1列(CHAR 0)" href="/222506.html"> JSONDe codeError:期待值:1行1列(CHAR 0); </a> </li> <li> <a target="_blank" title="Cmake不能找到Python库" href="/516449.html"> Cmake不能找到Python库; </a> </li> <li> <a target="_blank" title="Python - 将Dataframe中的所有项目转换为字符串" href="/605332.html"> Python - 将Dataframe中的所有项目转换为字符串; </a> </li> </ul> </div> <div class="widget widget-side bgwhite mb-1 shadow"> <h5> 热门教程 </h5> <ul> <li> <a target="_blank" title="Java教程" href="/OnLineTutorial/java/index.html"> Java教程 </a> </li> <li> <a target="_blank" title="Apache ANT 教程" href="/OnLineTutorial/ant/index.html"> Apache ANT 教程 </a> </li> <li> <a target="_blank" title="Kali Linux教程" href="/OnLineTutorial/kali_linux/index.html"> Kali Linux教程 </a> </li> <li> <a target="_blank" title="JavaScript教程" href="/OnLineTutorial/javascript/index.html"> JavaScript教程 </a> </li> <li> <a target="_blank" title="JavaFx教程" href="/OnLineTutorial/javafx/index.html"> JavaFx教程 </a> </li> <li> <a target="_blank" title="MFC 教程" href="/OnLineTutorial/mfc/index.html"> MFC 教程 </a> </li> <li> <a target="_blank" title="Apache HTTP客户端教程" href="/OnLineTutorial/apache_httpclient/index.html"> Apache HTTP客户端教程 </a> </li> <li> <a target="_blank" title="Microsoft Visio 教程" href="/OnLineTutorial/microsoft_visio/index.html"> Microsoft Visio 教程 </a> </li> </ul> </div> <div class="widget widget-side bgwhite mb-1 shadow"> <h5> 热门工具 </h5> <ul> <li> <a target="_blank" title="Java 在线工具" href="/Onlinetools/details/4"> Java 在线工具 </a> </li> <li> <a target="_blank" title="C(GCC) 在线工具" href="/Onlinetools/details/6"> C(GCC) 在线工具 </a> </li> <li> <a target="_blank" title="PHP 在线工具" href="/Onlinetools/details/8"> PHP 在线工具 </a> </li> <li> <a target="_blank" title="C# 在线工具" href="/Onlinetools/details/1"> C# 在线工具 </a> </li> <li> <a target="_blank" title="Python 在线工具" href="/Onlinetools/details/5"> Python 在线工具 </a> </li> <li> <a target="_blank" title="MySQL 在线工具" href="/Onlinetools/Dbdetails/33"> MySQL 在线工具 </a> </li> <li> <a target="_blank" title="VB.NET 在线工具" href="/Onlinetools/details/2"> VB.NET 在线工具 </a> </li> <li> <a target="_blank" title="Lua 在线工具" href="/Onlinetools/details/14"> Lua 在线工具 </a> </li> <li> <a target="_blank" title="Oracle 在线工具" href="/Onlinetools/Dbdetails/35"> Oracle 在线工具 </a> </li> <li> <a target="_blank" title="C++(GCC) 在线工具" href="/Onlinetools/details/7"> C++(GCC) 在线工具 </a> </li> <li> <a target="_blank" title="Go 在线工具" href="/Onlinetools/details/20"> Go 在线工具 </a> </li> <li> <a target="_blank" title="Fortran 在线工具" href="/Onlinetools/details/45"> Fortran 在线工具 </a> </li> </ul> </div> </div> </div> <script type="text/javascript">var eskeys = 'autoprefixer,过滤器,不,工作,在,flask_assets,中'; var cat = 'cc';';//python</script> </div> <div id="pop" onclick="pophide();"> <div id="pop_body" onclick="event.stopPropagation();"> <h6 class="flex flex101"> 登录 <span onclick="pophide();">关闭</span> </h6> <div class="pd-1"> <div class="wxtip center"> <span>扫码关注<em>1秒</em>登录</span> </div> <div class="center"> <img id="qr" src="https://huajiakeji.com/Content/Images/qrydx.jpg" alt="" style="width:150px;height:150px;" /> </div> <div style="margin-top:10px;display:flex;justify-content: center;"> <input type="text" placeholder="输入验证码" id="txtcode" autocomplete="off" /> <input id="btngo" type="button" onclick="chk()" value="GO" /> </div> <div class="center" style="margin: 4px; font-size: .8rem; color: #f60;"> 发送“验证码”获取 <em style="padding: 0 .5rem;">|</em> <span style="color: #01a05c;">15天全站免登陆</span> </div> <div id="chkinfo" class="tip"></div> </div> </div> </div> <script type="text/javascript" src="https://lib.sinaapp.com/js/jquery/1.9.1/jquery-1.9.1.min.js"></script> <script type="text/javascript" src="https://cdn.bootcss.com/jquery-cookie/1.4.1/jquery.cookie.min.js"></script> <script type="text/javascript" src="https://img01.yuandaxia.cn/Scripts/highlight.min.js"></script> <script type="text/javascript" src="https://img01.yuandaxia.cn/Scripts/base.js?v=0.22"></script> <script type="text/javascript" src="https://img01.yuandaxia.cn/Scripts/tui.js?v=0.11"></script> <footer class="footer"> <div class="container"> <div class="flink mb-1"> 友情链接: <a href="https://www.it1352.com/" target="_blank">IT屋</a> <a href="https://huajiakeji.com/" target="_blank">Chrome插件</a> <a href="https://www.cnplugins.com/" target="_blank">谷歌浏览器插件</a> </div> <section class="copyright-section"> <a href="https://www.it1352.com" title="IT屋-程序员软件开发技术分享社区">IT屋</a> ©2016-2022 <a href="http://www.beian.miit.gov.cn/" target="_blank">琼ICP备2021000895号-1</a> <a href="/sitemap.html" target="_blank" title="站点地图">站点地图</a> <a href="/Home/Tags" target="_blank" title="站点标签">站点标签</a> <a target="_blank" alt="sitemap" href="/sitemap.xml">SiteMap</a> <a href="/1155981.html" title="IT屋-免责申明"><免责申明></a> 本站内容来源互联网,如果侵犯您的权益请联系我们删除. </section> <!--统计代码--> <script type="text/javascript"> var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?0c3a090f7b3c4ad458ac1296cb5cc779"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); </script> <script type="text/javascript"> (function () { var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </div> </footer> </body> </html>