从Flask调用JavaScript函数
我有一个基本的Flask应用程序正在运行,main.py中的代码托管Flask应用程序。我还有一个index.html文件,可以从用户那里获得文本输入。我可以使用从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
request.form
访问输入,并且可以成功地使用它。然而,我遇到了一个问题
我需要调用一个JavaScript函数来打开某个网站的新选项卡。例如,如果用户在Wikipedia中键入,我需要告诉JavaScriptwindow.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
。