在JavaScript文件中设置变量值

1 投票
4 回答
2819 浏览
提问于 2025-04-16 00:46

我在服务器上有一个Python脚本和一个JavaScript文件。在这个Python脚本里,我想把一个变量的值设置成我那个.js文件里某个函数的输出结果。

这样做可以吗?如果可以的话,应该怎么做呢?

谢谢!

4 个回答

1

你可以直接在你的Python脚本中打印出JavaScript代码块,并且可以在这些代码块中设置一些变量,这些变量可以在外部脚本中使用。

<script language="javascript">var myvalue="data";</script>

如果使用simplejson库,你甚至可以打印数组和其他类似的东西。

只要确保你在JavaScript文件中的代码是放在一个函数里,并且这个函数是在整个页面加载完成后被调用,或者把JavaScript文件放在页面的最后面加载就可以了。

1

这不太可能,因为JavaScript通常是在用户的电脑上运行,而Python则是在服务器上运行。

如果你需要在用户的电脑上运行代码,可以让它发送一个AJAX请求到一个Python脚本,获取你需要的结果。如果不需要在用户的电脑上运行,我建议你把它重写成Python代码。

4

作为Macha提议的另一种选择(使用Ajax查询),你也可以动态创建JavaScript文件。

当页面加载时,JavaScript也会被加载。在你的页面中,有一个指向JavaScript的URL,格式是

<SCRIPT LANGUAGE="JAVASCRIPT" SRC="mycode.js" TYPE="TEXT/JAVASCRIPT">

关键在于让服务器不要提供一个静态文件“mycode.js”,而是提供例如mycode.py的输出。你的标签看起来应该是

<SCRIPT LANGUAGE="JAVASCRIPT" SRC="mycode.py" TYPE="TEXT/JAVASCRIPT">

而Python脚本可能会像这样(简化版):

var_value = "whatever you want the variable to be"

jsfile = open("myscript.js", "rb")
for line in jsfile:
  print  line.replace("$MYVAR$", var_value)

jsfile.close()

简单来说,你有了当前的js文件,但你会把它当作Python脚本的模板。你可以用replace方法把变量替换成它的值。

这可能不是最优雅的解决方案,但应该能工作,而且理解起来也不难。

别忘了你的服务器需要知道怎么处理Python脚本哦 :)

撰写回答