我有一个使用Flask的Web应用程序。我必须在同一台服务器上的另一个(比如url:port2)中进行网页的iframe(比如url:port1)。我在url:port1中获得了连续的实时数据,但它并没有完全反映在url:port2和iframe上。我错过了在页面(url:port2)重新加载期间出现的数据。
我可以在url:port1上看到所有数据。我想使用iframe
在url:port2上显示它。我怎样才能做到这一点?此外,这是iframe
的通常行为吗?
顺便说一句,我得到url:port1上的所有数据,烧瓶socketio。
更新1 - 添加代码详细信息以获取更详细的说明。
以下是url上的页面代码:port1
{% block body %}
<div class="table-responsive" id="logs"></div>
<script type="text/javascript" charset="utf-8">
var temp_data
// Connecting to socket and getting the data.
var socket = io.connect('http://' + document.domain + ':' + location.port);
localStorage.setItem('temp_inc', 0);
socket.on('connect', function() {
document.getElementById('logs').innerHTML = localStorage.getItem('data');
console.log("connected")
socket.on('my response', function(msg) {
if (temp_data == null) {
temp_data = ' '
}
temp_data = temp_data + msg.data + '<br>'
//Storing the data to local storage.
localStorage.setItem("data", localStorage.getItem("data") + temp_data)
disc_var = localStorage.getItem('temp_inc');
disc_var = disc_var + 1;
// Getting the data from local storage to not to miss the data even after page reload.
localStorage.setItem('temp_inc', disc_var);
$('#log').append('<p>Received: ' + msg.data + '</p>');
if (window.performance) {
console.info("window.performance work's fine on this browser");
}
if (performance.navigation.type == 1 && localStorage.getItem('temp_inc') == 1 || localStorage.getItem('temp_inc') == '01') {
console.info( "This page is reloaded" );
} else {
console.info( "This page is not reloaded");
}
// Displaying the data in the logs div.
document.getElementById('logs').innerHTML += msg.data + "<br>";
});
});
</script>
{% endblock %}
我将连续数据输入上述网页(使用flask-socketio)。我想在url:port2中显示此页面。以下显示了我如何尝试在url:port2中显示上面的页面(url:port1)。但是在url:port2上,我看不到我在url:port1上看到的完全相同。
<div class="col-lg-12">
<div class="panel panel-default" id="logs">
<div class="panel-heading">Logs</div>
<iframe src="url:port1" frameborder="0" style="position: relative; height: 100%; width: 100%;">
</iframe>
</div>
</div>