[英]How to fire a function when an object is added to DOM
I want to add Website talking heads video to my website. 我想将网站演讲头像视频添加到我的网站。 They provided a script file that I have to link in my page. 他们提供了一个脚本文件,我必须将其链接到页面中。
// Copyright 2012 Website Talking Heads
// JavaScript Document
if (typeof wthvideo == "undefined") {
wthvideo = new Object();
}
wthvideo.params = {
width:200,
height:384,
position:"fixed",
doctype:"strict",
left:"50%",
right:"auto",
top:"140px",
bottom:"auto",
centeroffset:"-660px",
color:0xCCCCCC,
volume:70,
autostart:"yes",
fadein:0,
fadeout:2,
flip:"no",
delay:0,
delayclose:0,
buffertime:3,
controlbar:"yes",
exitbtn:"no",
playbtn:"PlayVideo.png",
playposition:"center",
playtop:"bottom",
exitoncomplete:"yes",
oncepersession:"no",
vidlink:"no",
openin:"_blank",
path:"wthvideo",
actorpic:"angiewasabiloco.png",
flv:"angiewasabiloco.flv",
h264:"angiewasabiloco.mp4",
iactorpic:"angiewasabiloco.jpg",
iwidth:200,
iheight:384};
var topPx = parseFloat(wthvideo.params.top);
var bottomPx = parseFloat(wthvideo.params.bottom);
wthvideo.hideDiv = function(){
document.getElementById('wthvideo').style.visibility = 'hidden';
}
function onlyOnce() {
if (document.cookie.indexOf("hasSeen=true") == -1) {
var later = new Date();
later.setFullYear(later.getFullYear()+10);
document.cookie = 'hasSeen=true;path=/;';
wthvideo.drawVideo();
}
}
function onlyOnce2() {
if (document.cookie.indexOf("hasSeen=true") == -1) {
var later = new Date();
later.setFullYear(later.getFullYear()+10);
document.cookie = 'hasSeen=true;path=/;';
wthvideo.drawVideo();
}
}
wthvideo.drawVideo= function(){
var markUp = '';
var isiPad = navigator.userAgent.match(/iPad/i) != null;
if(isiPad || navigator.platform == 'iPad' || navigator.platform == 'iPhone'|| navigator.platform == 'iPod' ) {
markUp += '<style type="text/css">';
markUp += '#wthvideo {position:'+wthvideo.params.position+';width:'+wthvideo.params.iwidth+'px;height:'+wthvideo.params.iheight+'px;margin-left:-100px;left:'+wthvideo.params.left+';right:'+wthvideo.params.right+';top:40px;bottom:'+wthvideo.params.bottom+';z-index:99999;}';
markUp += '</style>';
markUp += '<div id="wthvideo">';
markUp += '<video poster="'+wthvideo.params.path+'/'+wthvideo.params.iactorpic+'" controls="controls" width="'+wthvideo.params.iwidth+'" height="'+wthvideo.params.iheight+'">';
markUp += '<source src="'+wthvideo.params.path+'/'+wthvideo.params.h264+'" type="video/mp4" />';
markUp += '</video>';
markUp += '</div>';
}
else {
markUp += '<style type="text/css">';
markUp += '#wthvideo {position:'+wthvideo.params.position+';width:'+wthvideo.params.width+'px;height:'+wthvideo.params.height+'px;margin-left:'+wthvideo.params.centeroffset+';left:'+wthvideo.params.left+';right:'+wthvideo.params.right+';top:'+wthvideo.params.top+';bottom:'+wthvideo.params.bottom+';z-index:99999;}';
markUp += '</style>';
markUp += '<div id="wthvideo">';
markUp += ' <object id="objvideo" style="outline:none;" type="application/x-shockwave-flash" width="'+wthvideo.params.width+'" height="'+wthvideo.params.height+'" data="'+wthvideo.params.path+'/wthplayer.swf">';
markUp += ' <param name="movie" value="'+wthvideo.params.path+'/wthplayer.swf" />';
markUp += ' <param name="quality" value="high" />';
markUp += ' <param name="flashvars" value="vurl='+wthvideo.params.flv+'&vwidth='+wthvideo.params.width+'&vheight='+wthvideo.params.height+'&actorpic='+wthvideo.params.path+'/'+wthvideo.params.actorpic+'&autostart='+wthvideo.params.autostart+'&exitoncomplete='+wthvideo.params.exitoncomplete+'&vbuff='+wthvideo.params.buffertime+'&vdelay='+wthvideo.params.delay+'&vcolor='+wthvideo.params.color+'&vlink='+wthvideo.params.vidlink+'&openin='+wthvideo.params.openin+'&delayclose='+wthvideo.params.delayclose+'&fadein='+wthvideo.params.fadein+'&fadeout='+wthvideo.params.fadeout+'&vvol='+wthvideo.params.volume+'&playbtn='+wthvideo.params.path+'/'+wthvideo.params.playbtn+'&playpos='+wthvideo.params.playposition+'&playtop='+wthvideo.params.playtop+'&hflip='+wthvideo.params.flip+'&controlbar='+wthvideo.params.controlbar+'&exitbtn='+wthvideo.params.exitbtn+'" />';
markUp += ' <param name="wmode" value="transparent" />';
markUp += ' <param name="allowscriptaccess" value="always" />';
markUp += ' <param name="swfversion" value="9.0.45.0" />';
markUp += ' </object>';
markUp += '</div>';
if (wthvideo.params.position == "fixed") {
if (wthvideo.params.doctype == "quirks") {
if (wthvideo.params.top == "auto") {
markUp += '<!--[if IE]>';
markUp += '<style type="text/css">';
markUp += '#wthvideo {position:absolute; top: expression(offsetParent.scrollTop - 1 + (offsetParent.clientHeight-this.clientHeight) + '+bottomPx+' + "px")}';
markUp += '</style>';
markUp += '<![endif]-->';}
else {
markUp += '<!--[if IE]>';
markUp += '<style type="text/css">';
markUp += '#wthvideo {position: absolute !important;top: expression(((document.documentElement.scrollTop || document.body.scrollTop) + (!this.offsetHeight && 0)) + '+topPx+' + "px")';
markUp += '</style>';
markUp += '<![endif]-->';}
}
else {
markUp += '<!--[if lte IE 6]>';
markUp += '<style type="text/css">';
markUp += 'html, body{height: 100%;overflow: auto;}#wthvideo {position: absolute;}';
markUp += '</style>';
markUp += '<![endif]-->';
}
}
}
document.write(markUp);
}
function hideDiv() {
wthvideo.hideDiv();
}
if (wthvideo.params.autostart=="oncethenpic") {
if (document.cookie.indexOf("hasSeen=true") == -1) {
var later = new Date();
later.setFullYear(later.getFullYear()+10);
document.cookie = 'hasSeen=true;path=/;';
wthvideo.params.autostart = "yes";
}
else {
wthvideo.params.autostart = "no";
}
}
if (wthvideo.params.autostart=="oncethenmute") {
if (document.cookie.indexOf("hasSeen=true") == -1) {
var later = new Date();
later.setFullYear(later.getFullYear()+10);
document.cookie = 'hasSeen=true;path=/;';
wthvideo.params.autostart = "yes";
}
else {
wthvideo.params.autostart = "mute";
}
}
if (wthvideo.params.autostart=="onceonly") {
if (document.cookie.indexOf("hasSeen=true") == -1) {
var later = new Date();
later.setFullYear(later.getFullYear()+10);
document.cookie = 'hasSeen=true;expires='+later.toGMTString();
wthvideo.params.autostart = "yes";
}
else {
wthvideo.params.autostart = "mute";
}
}
if (wthvideo.params.autostart=="onceonlythenmute") {
if (document.cookie.indexOf("hasSeen=true") == -1) {
var later = new Date();
later.setFullYear(later.getFullYear()+10);
document.cookie = 'hasSeen=true;expires='+later.toGMTString();
wthvideo.params.autostart = "yes";
}
else {
wthvideo.params.autostart = "mute";
}
}
if (wthvideo.params.autostart=="onceonlythenpic") {
if (document.cookie.indexOf("hasSeen=true") == -1) {
var later = new Date();
later.setFullYear(later.getFullYear()+10);
document.cookie = 'hasSeen=true;expires='+later.toGMTString();
wthvideo.params.autostart = "yes";
}
else {
wthvideo.params.autostart = "no";
}
}
if (wthvideo.params.oncepersession == "yes") {
onlyOnce();}
else {
if (wthvideo.params.oncepersession == "onceonly") {
onlyOnce2();}
else {
wthvideo.drawVideo();
}
}
function thisMovie(movieName) {
if (navigator.appName.indexOf("Microsoft") != -1) {
return window[movieName];
} else {
return document[movieName];
}
}
function exitWTH() {
thisMovie('objvideo').exitVideoWTH();
}
function pauseWTH() {
thisMovie('objvideo').pauseVideoWTH();
}
function unpauseWTH() {
thisMovie('objvideo').unpauseVideoWTH();
}
function playWTH() {
thisMovie('objvideo').playVideoWTH();
}
function stopWTH() {
thisMovie('objvideo').stopVideoWTH();
}
function muteWTH() {
thisMovie('objvideo').muteVolWTH();
}
function unmuteWTH() {
thisMovie('objvideo').startVolWTH();
}
function cue0() {
pauseWTH();
}
This javascript add an object element (flash video) to the page. 此javascript将对象元素(Flash视频)添加到页面。 I want this object element to be contained in specific div element. 我希望此对象元素包含在特定的div元素中。 But I do not have control on that. 但是我对此没有控制权。
I want to add it to specific div as soon as page is loaded. 我想在页面加载后立即将其添加到特定的div中。 I can write a function for that. 我可以为此编写一个函数。 What I want to know is how can I trigger that function instantly after above js add object element to the page. 我想知道的是,在上述js向页面添加对象元素之后,如何立即触发该函数。 I also welcome any other methods. 我也欢迎任何其他方法。
You can use jQuery plus the livequery.js plugin. 您可以使用jQuery以及livequery.js插件。 https://github.com/brandonaaron/livequery https://github.com/brandonaaron/livequery
After add jQuery and livequery to your page, just code this. 将jQuery和livequery添加到您的页面后,只需编写代码即可。
$('.wthvideo').livequery(function(){
//Do your stuff here
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.