如何在没有window.location.reload()的情况下使JavaScript .load工作

how make JavaScript .load work without window.location.reload()

本文关键字:情况下 JavaScript 工作 load reload location window      更新时间:2023-09-26

我正在尝试使用 .load 轮询来自服务器的特定元素 ID,但只有当我使用 window.location.reload() 遵循 .load 时,该元素才会更新。

具体来说,该元素是一个 vxworks 风标元素*,vxworks 服务器每秒更新一次,浏览器应读取并显示该元素。

页面上的元素:

<span id="general_response_windmark_id" >$%general_response_windmark#$</span>

在页面末尾,我做:

setInternval( 'foo()', 1000 )    // to re-display once a second

不起作用:...

function foo()
{
    windmark_field_id = 'general_response_windmark_id'
    $('#' + windmark_field_id).load(' #' + windmark_field_id);
}

工程:。。。

function foo()
{
    windmark_field_id = 'general_response_windmark_id'
    $('#' + windmark_field_id).load(' #' + windmark_field_id);
    window.location.reload()
}
    • vxworks 服务器将"$%general_response_windmark#$"替换为不断变化的数字字符串。

谢谢

<span>标签放在单独的 HTML 文档中(如果您愿意,可以单独使用),然后使用 jQuery 加载它:

function foo() {
    var wfid = 'general_response_windmark_id';
    $('#' + wfid).load('external-span-page.html #' + wfid);
}

我认为

 $('#' + windmark_field_id).load(' #' + windmark_field_id); 

语句有错误。

因为.load()第一个参数中是一个 URL,而且我知道 url 不能以#符号开头。

重新检查您的 url 分配给.load(),这将解决您的问题。

阅读有关 .load() 的信息

答案: 将完成函数参数添加到 .load 中,紧跟在 URL 之后。

问题: 我的原始代码正在执行 .load,然后立即从浏览器页面 DOM 读取元素,即使 .load 尚未完成。使用 .load 的完成函数会等到完成。

哈查!

相关文章: