在python的flask中使HTML中的iframe成功显示网页并且可以获取到iframe中输入的值
时间: 2024-05-07 11:20:37 浏览: 240
python生成html+flask界面呈现
4星 · 用户满意度95%
要在 Flask 中成功显示 iframe 中的网页并获取输入的值,可以使用以下步骤:
1.在 HTML 文件中添加一个 iframe 标签,设置 src 属性为要嵌入的网页地址。
```
<iframe src="https://www.example.com"></iframe>
```
2.在 Flask 中创建一个路由,用于接收 iframe 中传递的数据。可以使用 request.args.get() 方法获取传递的值。
```
from flask import Flask, render_template, request
app = Flask(__name__)
@app.route('/iframe_data', methods=['GET'])
def iframe_data():
data = request.args.get('data')
return data
if __name__ == '__main__':
app.run()
```
3.在 iframe 标签中添加一个隐藏的 input 标签,用于传递数据到 Flask 的路由中。
```
<iframe src="/my_iframe"></iframe>
<input type="hidden" id="iframe_data" value="" />
<script>
// 获取 iframe 中的值
var iframe = document.getElementsByTagName('iframe')[0];
var iframeWindow = iframe.contentWindow || iframe.contentDocument.parentWindow;
var data = iframeWindow.document.getElementById('my_input').value;
// 将值传递到 Flask 的路由中
var xhr = new XMLHttpRequest();
xhr.open('GET', '/iframe_data?data=' + data, true);
xhr.send();
// 更新隐藏的 input 的值
var input = document.getElementById('iframe_data');
input.value = data;
</script>
```
在上述代码中,当 iframe 中的 input 标签的值发生变化时,会将值传递到 Flask 的路由中,并更新隐藏的 input 标签的值。这样,就可以在 Flask 中获取到 iframe 中的数据了。
阅读全文