javascript 可否直接调用python

JavaScript028

javascript 可否直接调用python,第1张

不行的,Python本身带的模块没有Javascript引擎。可以安个 https://github.com/davisp/python-spidermonkey 插件就可以调用了。

想调用后台按钮的事件,不用AJAX,可以使用一种变通的方法。 比如你一个前台HTML控件 ID=ctl吧,在这里控件的onclick事件中绑定下面的函数.同时假定已存在一个ID=btnTest的服务器控件(该控件有后台Click事件) <input id='ctl' type='button' onclick='callOtherBtnEvent()' />function callOtherBtnEvent(){ document.getElementById('<%btnTest.ClientID%>').click()} 后台public void btnTest_Click(object sender,EventArgs e) { Response.Write("<script>alert('调用了后台事件')</script>")}

python取得javascript里面的值

复制代码代码如下:

import PyV8

with PyV8.JSContext() as env1:

env1.eval("""

var_i = 1

var_f = 1.0

var_s = "test"

var_b = true

""")

vars = env1.locals

var_i = vars.var_i

print var_i

javascript取得python里面的值

复制代码代码如下:

import PyV8

with PyV8.JSContext() as env1:

env1.securityToken = "foo"

env1.locals.prop = 3

print int(env1.eval("prop"))

python和javascript里面的函数交互

python调用javascript里面的函数python调用func就可以使用js里面的function函数了

复制代码代码如下:

import PyV8

with PyV8.JSContext() as ctxt:

func = ctxt.eval("""

(function ()

{

function a()

{

return "abc"

}

return a()

})

""")

print func()

这样也可以

复制代码代码如下:

import PyV8

with PyV8.JSContext() as ctxt:

func = ctxt.eval("""

function a()

{

return "abc"

}

function c()

{

return "abc"

}

""")

a = ctxt.locals.a

print a()