我正在忙着自学更多关于网络技术的知识我目前关注的是javascript和jquery但我遇到了障碍。
我添加了一个Iframe(您从谷歌趋势中获得的一个)嵌入您的网站。 使用google耗材获取iframe的代码是:
<iframe id="myframe" scrolling="no" style="border:none;" width="250" height="413" src="https://trends.google.com/trends/hottrends/widget?pn=p1&tn=10&h=413"></iframe>
现在我的任务或我想做的是循环趋势iframe中的所有元素,并使用java脚本和JQuery在屏幕上打印它们。
所以我做的是以下内容。
我的Php文件:
<html>
<head>
<meta charset="UTF-8">
<!-- jQuery library -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
</head>
<body>
<div id="widgettrend"></div>
</body>
<script src="js/manager.js"></script>
</html>
我的manager.js是:
$(document).ready(function(){
alert($("html").html());
$.holdReady(true);
$( "#widgettrend" ).before( "<iframe id='myframe' scrolling='no' style='border:none;' width='250' height='413' src='https://trends.google.com/trends/hottrends/widget?pn=p"+localStorage['country']+"&tn=10&h=413'></iframe>" );
//init plugin
$.holdReady(false);
//other code
alert($("html").html());
});
但是我遇到的问题在我打印html的第一个提示中我得到了:
添加代码后的第二个提醒:
我可以看到它确实将它添加到我的html但没有加载它。所以几秒钟之后加载控件,如果我使用Chrome进行Inspect,我可以看到它已加载:
我也尝试延迟,以便控件有时间加载然后尝试获取html,但它仍然显示html,就像在第二个警报中一样。
就像iframe加载后它没有更新dom一样?
我想使用Jquery访问数据,但我无法看到代码中的元素。
这是否可以在加载后访问数据,就像我在Inspect图像中看到的那样?或者我是否需要以某种方式更新或刷新DOM?
我应该如何访问数据?