def push_state(self, request, title, url=''):
if request.is_mobile():
# FIXME hack????webview?????document.title???
script = '''
(function(){
var $body = $('body');
var $iframe = $('<iframe src="/@@/img/favicon.ico" style="display:none;"></iframe>').on('load', function() {
setTimeout(function() {
$iframe.off('load').remove()
}, 0)
}).appendTo($body);
})();
'''
self._append_script(script, False)
title = self._escape_value(title)
# ??ajax???pushState
if not request.headers.has_key('kss'):
self._append_script('document.title=%s' % title, False)
return
form = self.request.form
# ?????
if form.has_key('back'):
return
else:
form['back'] = True
kss = request.getURL()
if form:
kss += '?%s' % urllib.urlencode(form)
data = json.dumps({'form':form, 'url':kss})
if not url:
url = urllib.unquote(kss)
script = "History.trigger=false;History.pushState(%s, %s, '%s')" % (data, title, url)
self._append_script(script, False)
评论列表
文章目录