当嵌入的谷歌日历加载时回调
Callback when embedded Google Calendar has loaded
我正在以标准方式加载嵌入式Google日历:
<iframe id="calendar" src="https://www.google.com/calendar/embed...></iframe>
我想在使用jQuery加载事件后应用一些样式更改,例如:
$('iframe#calendar').contents().find('.blahblah').css("display", "none");
我大概需要使用间隔循环:
var interval_calendar = setInterval(function(){
if ($('#calendar').SOMETHING) {
clearInterval(interval_calendar);
$('iframe#calendar').contents().find('.blahblah').css("display", "none");
}
} ,200);
如何检查日历是否已加载?基本上,我需要SOMETHING
。
谢谢。
Try
var iframe = $("<iframe>", {
"id" : "calendar",
"src" : "https://www.google.com/calendar/embed...",
"target" : "_top"
})
// `iframe` `load` `event`
.on("load", function (e) {
$(e.target)
.contents()
.find(".blablah")
.css("display", "none");
return false
});
// $(element).append($(iframe))
jsfiddle http://jsfiddle.net/guest271314/a3UL5/
你可以使用load
来执行一个函数当你的iframe完成加载…
$("#calendar").load( function () {
// do something once the iframe is loaded
});
我找不到任何好的JavaScript事件解决方案,但您可以使用您的想法:
var interval_calendar = setInterval(function(){
if ($('#calendarTitle').html()!= "") {
clearInterval(interval_calendar);
alert();
}
} ,200);
只有整个日历加载完成后,页面才会显示calendarTitle
id。
另一方面,我不知道是否可以访问日历属性,因为它们是受保护的。您只能访问从主机加载的iframe内容。用alert()
它工作,但如果你试图访问任何内部内容,你会得到一个SecurityError
消息到控制台。
相关文章:
- 一旦加载并渲染了角度引导typeahead,就使用回调
- LokiJS自动加载回拨不工作
- 在foreach中加载所有项后,Knockoutjs组件回调
- Material Design Lite所有元素加载JS回调
- 用于在ng映射中加载GeoJSON的回调
- Dojo AMD加载程序执行定义具有空/缺失依赖项的回调
- Dojo 加载器不加载回调中使用的小部件依赖项
- Iframe 加载回调被多次调用
- 未调用jQuery加载回调
- Javascript 图像加载回调类实习函数
- Requirejs:dist 失败,加载器插件没有在构建:文本中调用加载回调
- 如何使用 angularFireCollection 初始加载回调
- 脸书评论框加载回调
- 加载回调时的 C3 图形
- 如何在内容具有content-Disposition附件时实现窗口加载回调
- 谷歌.在coffeescript类中加载回调
- 为什么从JSONLoader导入到THREE.js的几何体只有在添加到场景中才会显示?加载回调函数
- requiredjs失败以加载回退
- 在ajax加载回调函数中调用getScript
- js加载回调传递到自定义函数