Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从Flask调用JavaScript函数_Javascript_Python_Flask - Fatal编程技术网

从Flask调用JavaScript函数

从Flask调用JavaScript函数,javascript,python,flask,Javascript,Python,Flask,我有一个基本的Flask应用程序正在运行,main.py中的代码托管Flask应用程序。我还有一个index.html文件,可以从用户那里获得文本输入。我可以使用request.form访问输入,并且可以成功地使用它。然而,我遇到了一个问题 我需要调用一个JavaScript函数来打开某个网站的新选项卡。例如,如果用户在Wikipedia中键入,我需要告诉JavaScriptwindow.open(“https://www.wikipedia.org)。问题是,我找不到任何有效的方法从Flask

我有一个基本的Flask应用程序正在运行,main.py中的代码托管Flask应用程序。我还有一个index.html文件,可以从用户那里获得文本输入。我可以使用
request.form
访问输入,并且可以成功地使用它。然而,我遇到了一个问题

我需要调用一个JavaScript函数来打开某个网站的新选项卡。例如,如果用户在Wikipedia中键入,我需要告诉JavaScript
window.open(“https://www.wikipedia.org)
。问题是,我找不到任何有效的方法从Flask应用程序调用JavaScript函数

在你将这个问题标记为重复之前,我发现这个问题的单堆栈溢出问题的答案甚至不涉及flask,而另一个答案(使用webbrowser.open_new_tab)在服务器机器上打开了新选项卡,而不是在客户端机器上(网站实际被访问的机器)

我知道你可以从JavaScript调用Python函数,但是有可能用另一种方式吗


提前感谢。

一种方法是将url作为查询字符串传递给包含javascript的url。您可以访问javascript中的查询字符串,并在打开窗口的函数中使用它。

那么您想在
javascript
函数中传递
flask
输入变量吗?不,我想从flask函数调用javascript函数(打开新选项卡)。我对javascript有点陌生。。。具体如何访问当前网站的参数?
让urlForNewWindow=newurlsearchParams(window.location.search).get('url')
让我们假设您的url是{base\u url}/index.html,您可以添加此选项以将“url”查询参数设置为,
?url=http://wikipedia.com
。所以最后的url看起来像这样:
{base\u url}/index.html?url=http://wikipedia.com
urlForNewWindow变量将等于
http://wikipedia.com