我目前正在我的页面上直接嵌入一个第三方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请求并以某种方式解析响应,这样我就可以获得所需的值。
有没有更好的方法?
发布于 2012-11-28 23:31:26
您可以将此脚本放在正文末尾(恰好在</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说。
发布于 2012-11-28 23:30:31
发布于 2012-11-28 23:45:14
也许这可以成为你的解决方案的一部分。这是一个独立的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>
https://stackoverflow.com/questions/13616237
复制相似问题