首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >将嵌入式JavaScript转换为ajax调用

将嵌入式JavaScript转换为ajax调用
EN

Stack Overflow用户
提问于 2012-11-29 07:25:12
回答 3查看 580关注 0票数 0

我目前正在我的页面上直接嵌入一个第三方javascript文件。

然而,我嵌入它的网站需要一段时间才能响应,所以它会停止渲染我的网站几秒钟。

我目前正在将它嵌入到我的页面上,在那里它将写入一些值:

代码语言:javascript
代码运行次数:0
运行
复制
<script language="javascript" type="text/javascript" src="[third-party site/file.js]"></script>

来自嵌入式脚本的响应只是一些JavaScript:

代码语言:javascript
代码运行次数:0
运行
复制
document.write('<div class="value">Value 1</div><div class="value">Value 2</div>');

我在想,在页面加载之后,使用jQuery发出AJAX请求并以某种方式解析响应,这样我就可以获得所需的值。

有没有更好的方法?

EN

回答 3

Stack Overflow用户

发布于 2012-11-29 07:31:26

您可以将此脚本放在正文末尾(恰好在</body>之前)的隐藏元素中,并在页面加载后,使用jQuery将其移动到所需的位置。

代码语言:javascript
代码运行次数:0
运行
复制
    <div id="hiddenElement">
        <script type="text/javascript" src="[third-party site/file.js]"></script>
    </div>
    <script type="text/javascript">
        $(document).ready(function() {
            $("#hiddenElement").appendTo("#someOtherElement");
        });
    </script>
</body>

另一种解决方案是使用jQuery .getScript()将脚本加载到您所说的所需位置,@James McDonnell说。

票数 1
EN

Stack Overflow用户

发布于 2012-11-29 07:30:31

代码语言:javascript
代码运行次数:0
运行
复制
$(document).read(function()
{
  $.getScript(/* src */)
});

这将在页面加载后运行。

$.getScript()

票数 0
EN

Stack Overflow用户

发布于 2012-11-29 07:45:14

也许这可以成为你的解决方案的一部分。这是一个独立的jQuery示例,其中一个按钮用于触发DIV上的更改事件。这个示例向您展示了如何访问div的html内容,以及如何操作/更改它。这对你来说不是一个解决方案,但当它与rcdmk和James的想法结合起来时,它的一部分可能会有用。

代码语言:javascript
代码运行次数:0
运行
复制
<html>
    <head>
        <!--<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>-->
        <script src="http://code.jquery.com/jquery-latest.js"></script>
        <script type="text/javascript">
            $(document).ready(function() {
                $('#button_test').click(function() {
                    $('.value').html('New stuff').change();
                });
                $('.value').change(function(){
                    $('div').each(function() {
                        alert($(this).html());
                    });
                });
            });
        </script>
    </head>
<body>


<div class="value">Value 1</div>
<div class="value">Value 2</div>
<button id="button_test">Click me</button>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13616237

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档