我目前正在我的网页上直接嵌入第三方javascript文件。
但是,我嵌入它的网站需要一段时间才能响应,所以它会停止渲染我的网站几秒钟。
我目前正在将它嵌入我的页面,它会写出一些值:
<script language="javascript" type="text/javascript" src="[third-party site/file.js]"></script>
嵌入式脚本的响应只是一些JavaScript:
document.write('<div class="value">Value 1</div><div class="value">Value 2</div>');
我想在页面加载后使用jQuery发出一个AJAX请求并以某种方式解析响应,这样我就可以得到我需要的值。
有更好的方法吗?
答案 0 :(得分:1)
您可以将此脚本放在正文末尾的隐藏元素中(就在</body>
之前),并在页面加载后,使用jQuery将其移动到所需位置。
<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 :(得分:0)
答案 2 :(得分:0)
也许这可能是您解决方案的一部分。这是一个独立的jQuery示例,其中一个按钮用于触发DIV上的更改事件。此示例仅向您展示如何访问div的html内容以及如何操作/更改它。这不是一个适合你的解决方案,但是当与rcdmk和James的想法结合使用时,它的一部分可能会有用。
<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>