如何让python调用JavaScript函数?

时间:2013-09-21 18:44:38

标签: javascript python google-app-engine

我对此很陌生,所以请给我一些懈怠。

我正在使用谷歌应用引擎的网络应用程序工作。我的服务器使用Python运行,当用户访问我的“/”页面时,服务器从网站获取一些HTML源代码并将其放入名为html_code的变量中。

现在我想将html_code变量传递给客户端,以便他可以使用JavaScript进行分析。这可能吗?我怎样才能做到这一点?如果可能,请提供示例。

提前致谢,佩德罗。

2 个答案:

答案 0 :(得分:1)

我假设您要将一段html发送到浏览器,该浏览器不会破坏页面的现有布局和功能,但仍然可以在DOM中进行(因此可以从JS访问)。在这种情况下,您可以考虑隐藏/不可见的iframe。

答案 1 :(得分:1)

注意,以下是向客户端提供内容的非常快速和肮脏的方式。

基于https://developers.google.com/appengine/docs/python/gettingstartedpython27/introduction,以下内容使用了webapp2和jinja2。 “html_code”可在名为index.html的文件中使用。如何呈现/表面获取的文档取决于您,但正如之前提到的那样,在这种情况下iframe可能会运行良好。

import os
from google.appengine.api import urlfetch
import webapp2
import jinja2

JINJA_ENVIRONMENT = jinja2.Environment(
    loader=jinja2.FileSystemLoader(os.path.dirname(__file__)),
    extensions=['jinja2.ext.autoescape'])

class MainHandler(webapp2.RequestHandler):
    def get(self):
        html_code = urlfetch.fetch('http://stackoverflow.com/questions/18936253/how-to-make-python-invoke-a-javascript-function')
        template_values = {
            'html_code': html_code.content
        }
        template = JINJA_ENVIRONMENT.get_template('index.html')
        self.response.write(template.render(template_values))

app = webapp2.WSGIApplication([
    ('/', MainHandler)
], debug=True)