我创建了一个短函数,基于Mathias Bynens优化的Google Analytics异步脚本,如下所示:
function async(src) {
var d = document, t = 'script',
o = d.createElement(t),
s = d.getElementsByTagName(t)[0];
o.src = '//' + src;
s.parentNode.insertBefore(o, s);
}
这个很好用,我已经开始在几个不同的脚本中使用它了。
// Crazy Egg
async('dnn506yrbagrg.cloudfront.net/pages/scripts/XXXXX/XXXXX.js?' + Math.floor(new Date().getTime() / 3600000));
// User Voice
var uvOptions = {};
async('widget.uservoice.com/XXXXX.js');
// Google Analytics
var _gaq = [['_setAccount', 'UA-XXXXX-XX'], ['_setDomainName', 'coachup.com'], ['_trackPageview']];
async('google-analytics.com/ga.js');
// Stripe
async('js.stripe.com/v1');
问题出现在我遇到需要在加载后调用的脚本时:
// Snap Engage
async('snapabug.appspot.com/snapabug.js');
SnapABug.init('XXXXX-XXXXX-XXXXX-XXXXX-XXXXX');
所以我想把这个变成一个回调函数,使用方式如下:
async('snapabug.appspot.com/snapabug.js', function() {
SnapABug.init('XXXXX-XXXXX-XXXXX-XXXXX-XXXXX');
});
我没想到这对我来说会很难,但事实就是如此。
我的问题是,什么是最有效的添加回调函数的方法,而不会使代码过于复杂。
请参见 jsfiddle:http://jsfiddle.net/JamesKyle/HQDu6/
import os.path if os.path.isfile(filename): print("File exists") else: print("File does not exist")
https://dev59.com/pG855IYBdhLWcg3wm1m3#4249346:您可以使用Python的subprocess模块来运行外部命令。这是一个例子:import subprocess subprocess.call(["ls", "-l"])
这将运行“ls -l”命令并打印输出。 - RASG