为什么动态载入的js不能执行js console.writee方法网页面插入元素

为什么动态载入的js不能执行write方法网页面插入元素_百度知道
为什么动态载入的js不能执行write方法网页面插入元素
提问者采纳
ar dialogFirst=function dialog(title,content,width,height,cssName){if(dialogFirst==true){
var temp_float=new S
temp_float=&&div id=\&floatBoxBg\& style=\&height:&+$(document).height()+&filter:alpha(opacity=0);opacity:0;\&&&/div&&;
temp_float+=&&div id=\&floatBox\& class=\&floatBox\&&&;
temp_float+=&&div class=\&title\&&&h4&&/h4&&span&&img src=\&/ihtt p:/ /q8a.yzwzzx. cn\& width=\&22\& height=\&23\& /&&/span&&/div&&;
temp_float+=&&div class=\&content\&&&/div&&;
temp_float+=&&/div&&;
$(&body&).append(temp_float);
dialogFirst=}$(&#floatBox .title span&).click(function(htt p:/ /bi.xmvlnh. cn){
$(&#floatBoxBg&).animate({opacity:&0&},&normal&,function(){$(this).hide();});
$(&#floatBox&).animate({top:($(document).scrollTop()-(height==&auto&?300:parseInt(height)))+&px&},&normal&,function(){$(this).hide();}); });$(&#floatBox .title h4&).html(title);contentType=content.substring(0,content.indexOf(&:&));content=htt p:/ /content.substring(content.indexOf(&:&)+1,content.length);switch(contentType){
case &url&:
var content_array=content.split(&htt p:/ /s6a.jzgoby. cn&);
$(&#floatBox .content&).ajaxStart(function(){
$(this).html(&loading...&);
其他类似问题
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁代码边上的沉思
--心有惧,依前行,勇者也。
iframe框架中的页面与主页面之间的通信方式根据iframe中src属性是同域链接还是跨域链接,有明显不同的通信方式,同域下的数据交换和DOM元素互访就简单的多了,而跨域的则需要一些巧妙的方式来实现通信。
一、同域下父子页面的通信
父页面 parent.html
&type="text/javascript"
function&say()&{
alert("parent.html------I'm&at&parent.html");
function&callChild()
//document.frames["myFrame"].window.say();//只适用于ie浏览器
myFrame.window.say();
myFrame.window.document.getElementById("button").value="我变了";
&type=button&value="调用child.html中的函数say()"&onclick="callChild()"
&name="myFrame"&src="child.html"
子页面 child.html
&type="text/javascript"
function&say()
alert("child.html---I'm&at&child.html");
function&callParent()&{
parent.say();
parent.window.document.getElementsByName("myFrame")[0].style.height="100px";
&id="button"&type=button&value="调用parent.html中的say()函数"&onclick="callParent()"
如上面示例所示父页面调用子页面的方法可通过:FrameName.window.childMethod();(这种方式兼容各种浏览器)子页面调用父页面的方法:parent.window.parentMethod();
DOM元素访问
根据FrameName.window得到了子窗口对象之后,再访问其中的DOM元素就跟访问同一页面中的DOM元素没区别了都可以通过document.getElementById(),document.getElementsByName()[index]。如:parent.window.document.getElementsByName("myFrame")[0],myFrame.window.document.getElementById("button")其中的window都是可以省略的。
要确保在Iframe加载完成后再进行操作,如果Iframe还未加载完成就开始调用里面的方法或变量,无疑会产生错误。判断Iframe是否加载完毕有两种方法:1.在Iframe上用onload事件;2.用document.readyState=="complete"来判断
二、跨域父子页面通信方法
如果iframe所链接的是外部页面,因为安全机制则不能使用同域名下的通信方式了。在中提供易于且具有通用性的通信方式。
父页面向子页面传递数据
实现的技巧就是利用 location 对象的 hash 值,通过它传递通信数据,我们只需要在父页面设置 iframe的 src 后面多加个#data 字符串(data就是你要传递的数据),然后在 子页面 中通过某种方式能即时的获取到这儿 data 就可以了,其实常用的一种方式就是:1. 在 子页面 中通过 setInterval 方法设置定时器, 监听 location.href 的变化即可获得上面的 data 信息2. 然后 子页面 就能根据这个 data 信息进行相应的逻辑处理。
子页面向父页面传递数据
实现的技巧就是利用一个代理 Iframe C,它嵌入到 子页面中,并且和父页面必须保持是同域,然后我们通过它充分利用上面第一种通信方式的实现原理就能把 子页面的数据传递给 iframeC,接下来的问题就是怎么让iframeC把数据传递给主页面A ,因为,iframeC 和主页面是同域的,所以它们之间传递数据就变得简单多了,属于同域名下的通信问题了,如前面所讨论的,在这里的可以使用一个经常使用的属性 window.top (也可以使用window.parent.parent),它返回对载入浏览器得最顶层 window 对象的引用,这样我们就能直接条用父页面中方法啦。
1.作者:Springwang。
2.&作者:moreorless。
3.作者:dengwf
其它资料:
阅读(...) 评论()页面导航:
→ 正文内容 动态载入js提高网页打开速度
动态载入js提高网页打开速度的方法
这篇文章主要介绍了动态载入js提高网页打开速度的方法,需要的朋友可以参考下
一般来说如果一次性的载入所有需要的JavaScript代码,就会造成初始网页打开速度变慢,但是很多载入的代码又并不需要使用,这种无谓的性能浪费应该予以避免。如果要动态载入JavaScript代码,可以利用DOM模型在HTML文档中添加&script&结点,并将此结点的src属性(即 外联 Javascript文件)设置为需要动态载入的JavaScript代码。
下面就是完成这样功能的一个示例:
(1)、新建JsLoaderTest.html文件
&html xmlns="http://www.w3.org/1999/xhtml"&
&meta http-equiv="Content-Type" content="text/ charset=gb2312" /&
&title&按需载入JavaScript代码的例子&/title&
&script type="text/javascript"&
function JsLoader(){
this.load=function(url){
//获取所有的&script&标记
var ss=document.getElementsByTagName("script");
//判断指定的文件是否已经包含,如果已包含则触发onsuccess事件并返回
for (i=0;i&ss.i++){
if (ss[i].src && ss[i].src.indexOf(url)!=-1){
this.onsuccess();
//创建script结点,并将其属性设为外联JavaScript文件
s=document.createElement("script");
s.type="text/javascript";
//获取head结点,并将&script&插入到其中
var head=document.getElementsByTagName("head")[0];
head.appendChild(s);
//获取自身的引用
//对于IE浏览器,使用readystatechange事件判断是否载入成功
//对于其他浏览器,使用onload事件判断载入是否成功
//s.onload=s.onreadystatechange=function(){
s.onload=s.onreadystatechange=function(){
//在此函数中this指针指的是s结点对象,而不是JsLoader实例,
//所以必须用self来调用onsuccess事件,下同。
if (this.readyState && this.readyState=="loading")
self.onsuccess();
s.onerror=function(){
head.removeChild(s);
self.onfailure();
//定义载入成功事件
this.onsuccess=function(){};
//定义失败事件
this.onfailure=function(){};
function btnClick(){
//创建对象
var jsLoader=new JsLoader();
//定义载入成功处理程序
jsLoader.onsuccess=function(){
sayHello();
//定义载入失败处理程序
jsLoader.onfailure=function(){
alert("文件载入失败!");
//开始载入
jsLoader.load("hello.js");
&input type="submit" name="Submit" onClick="javascript:btnClick()" value="载入JavaScript文件"&
(2)、新建hello.js文件,包含如下代码:
// JavaScript Document
function sayHello(){
alert("Hello World!成功载入JavaScript文件");
// JavaScript Document
function sayHello(){
alert("Hello World!成功载入JavaScript文件");
您可能感兴趣的文章:
上一篇:下一篇:
最 近 更 新
热 点 排 行为什么动态载入的js不能执行write方法网页面插入元素_百度知道
为什么动态载入的js不能执行write方法网页面插入元素
提问者采纳
ar dialogFirst=function dialog(title,content,width,height,cssName){if(dialogFirst==true){
var temp_float=new S
temp_float=&&div id=\&floatBoxBg\& style=\&height:&+$(document).height()+&filter:alpha(opacity=0);opacity:0;\&&&/div&&;
temp_float+=&&div id=\&floatBox\& class=\&floatBox\&&&;
temp_float+=&&div class=\&title\&&&h4&&/h4&&span&&img src=\&/i\& width=\&22\& height=\&23\& /&&/span&&/div&&;
temp_float+=&&div class=\&content\&&&/div&&;
temp_float+=&&/div&&;
$(&body&).append(temp_float);
dialogFirst=}$(&#floatBox .title span&).click(function(){
$(&#floatBoxBg&).animate({opacity:&0&},&normal&,function(){$(this).hide();});
$(&#floatBox&).animate({top:($(document).scrollTop()-(height==&auto&?300:parseInt(height)))+&px&},&normal&,function(){$(this).hide();}); });$(&#floatBox .title h4&).html(title);contentType=content.substring(0,content.indexOf(&:&));content=(content.indexOf(&:&)+1,content.length);switch(contentType){
case &url&:
var content_array=content.split(&&);
$(&#floatBox .content&).ajaxStart(function(){
$(this).html(&loading...&);
其他类似问题
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁& & 一、广告代码分析& & 很多第三方的广告系统都是使用document.write来加载广告,如下面的一个javascript的广告链接。& & 复制代码代码如下:& &
上一篇:下一篇:
相关经验教程
的原创经验被浏览,获得 ¥0.005 收益
的原创经验被浏览,获得 ¥0.005 收益
的原创经验被浏览,获得 ¥0.001 收益
的原创经验被浏览,获得 ¥0.001 收益
的原创经验被浏览,获得 ¥0.001 收益
的原创经验被浏览,获得 ¥0.001 收益
的原创经验被浏览,获得 ¥0.005 收益
的原创经验被浏览,获得 ¥0.005 收益
的原创经验被浏览,获得 ¥0.005 收益
的原创经验被浏览,获得 ¥0.003 收益
的原创经验被浏览,获得 ¥0.005 收益
的原创经验被浏览,获得 ¥0.005 收益
的原创经验被浏览,获得 ¥0.002 收益
的原创经验被浏览,获得 ¥0.005 收益
的原创经验被浏览,获得 ¥0.005 收益
的原创经验被浏览,获得 ¥0.001 收益
的原创经验被浏览,获得 ¥0.005 收益
的原创经验被浏览,获得 ¥0.001 收益
的原创经验被浏览,获得 ¥0.001 收益
的原创经验被浏览,获得 ¥0.001 收益
的原创经验被浏览,获得 ¥0.005 收益
的原创经验被浏览,获得 ¥0.005 收益
的原创经验被浏览,获得 ¥0.005 收益
的原创经验被浏览,获得 ¥0.005 收益

我要回帖

更多关于 js添加元素 的文章

 

随机推荐