Js代码顺序问题,JS异常:报缺少对象

问题描述

Js代码顺序问题,JS异常:报缺少对象

大家好,有一个JS问题,代码以上线,突然有一天下午,JS异常:报缺少对象

代码如下:
1,有一个父页面JSP里有Iframe,Iframe里调用另一个公司界面,这个界面有一个提交按钮,点击提交后回调我一个Action的方法
2,这个方法回调中间界面如下:

 <%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<%@include file="/common/taglibs.jsp"%>
<!DOCTYPE html>
<html>

    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=GBK">
        <title>沃易销系统欢迎您</title>
        <base target="_self">
        <script src="http://112.65.239.123/o2o/jituan/js/jquery-1.7.2.min.js"></script>
    </head>

    <body screen_capture_injected="true">
        <input type="text" id="name" value="${zhiGongUser.cert_name }" />
        <br>
        <input type="text" id="card" value="${zhiGongUser.cert_id }" />
        <br>
        <input type="text" id="cardaddr" value="${zhiGongUser.cert_addr }" />
        <br>
        <input type="text" id="certexpdate" value="${zhiGongUser.cert_exp_date }" />
        <br>
        <input type="text" id="authCode" value="${zhiGongUser.authCode }" />
        <br>
<script type="text/javascript">
    $(function() {
        alert(parent);
        parent.tianchong('${zhiGongUser.cert_name }', '${zhiGongUser.cert_id }', '${zhiGongUser.cert_addr }','${zhiGongUser.cert_exp_date }','${zhiGongUser.authCode }');
    });
</script>
    </body>

</html>

parent.tianchong 这里报缺少对象

解决方案

父页包含这个方法的脚本你放到页脚了吧。。速度问题导致iframe的dom下载完毕,而父页的js文件还没下载导致找不到函数。。
你将那个js脚本放到父页的head标签里面加载或者放到ifarme之前,不能放之后

解决方案二:

确认几点
1、两个页面的域是否在同一个,如果是跨域,这么是访问不到的
2、如果是同一个域,是否对方页面中有这个方法。

解决方案三:

修改完代码后又可以了,但是不知道原因:

<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<%@include file="/common/taglibs.jsp"%>
<!DOCTYPE html>

<head>
    <meta http-equiv="Content-Type" content="text/html; charset=GBK">
    <title>沃易销系统欢迎您</title>
    <base target="_self">
    <script src="http://112.65.239.123/o2o/jituan/js/jquery-1.7.2.min.js"></script>
</head>

<body screen_capture_injected="true" onload="userInfo()">
    <input type="text" id="name" value="${zhiGongUser.cert_name }" />
    <br>
    <input type="text" id="card" value="${zhiGongUser.cert_id }" />
    <br>
    <input type="text" id="cardaddr" value="${zhiGongUser.cert_addr }" />
    <br>
    <input type="text" id="certexpdate" value="${zhiGongUser.cert_exp_date }" />
    <br>
    <input type="text" id="authCode" value="${zhiGongUser.authCode }" />
    <br>

function userInfo(){
parent.tianchong('${zhiGongUser.cert_name }', '${zhiGongUser.cert_id }', '${zhiGongUser.cert_addr }','${zhiGongUser.cert_exp_date }','${zhiGongUser.authCode }');
);

</body>

解决方案四:

$(function() {} 改成了onload()方法,

解决方案五:

应该是同一个域,能访问,下面回调的是父类的tianchong方法

解决方案六:

回调方法是放在父页的head里面,如下:
function tianchong(name,card,cardaddr,certexpdate){
$("#userName").val(name);
$("#cardId").val(card);
$("#certAdree").val(cardaddr);
$("#cardtime2").val(certexpdate);
$("#jingBanName").val(name);
$("#contacts").val(name);
$("#contactsname2").val(name);
$("#networkaddr2").val(cardaddr);
$("#contactsAddress").val(cardaddr);
$("#contactsname3").val(name);
$("#networkaddr3").val(cardaddr);
chooseAlertClose();
var oper_code = $('.current').data("val");
if(oper_code=='1'){
$("#kehuInfo1").show();
$("#kehuInfo2").hide();
$("#kehuInfo3").hide();
}else if(oper_code=='2'){
$("#kehuInfo2").show();
$("#kehuInfo3").hide();
$("#kehuInfo1").hide();
}else {
$("#kehuInfo3").show();
$("#kehuInfo2").hide();
$("#kehuInfo1").hide();
}

}

解决方案七:

我的Iframe是通过
chooseAlertFn('信息提示','', newBtnObj2);

这个chooseAlertFn函数是引用

解决方案八:

解决方案九:

$(function() {
alert(parent);
parent.tianchong('${zhiGongUser.cert_name }', '${zhiGongUser.cert_id }', '${zhiGongUser.cert_addr }','${zhiGongUser.cert_exp_date }','${zhiGongUser.authCode }');
}); 这样写只在加载页面的时候执行以下,你点击什么的时候是不会再执行的

解决方案十:

js对象问题

时间: 2024-10-13 21:21:22

Js代码顺序问题,JS异常:报缺少对象的相关文章

easyui老报缺少对象

问题描述 以下是我页面的全部代码,请各位高手指点!<!DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"><html><head><metahttp-equiv="Content-Type"content="text/html;charset=UTF-8"

请问这个页面报“缺少对象”是什么原因问题?

问题描述 请问这个页面报"缺少对象"是什么原因问题?其中shtj,Zzbs两个变量都是有值得. 解决方案 解决方案二:不知道你的myform是啥东西解决方案三:查出来的结果:解决方案四:MyForm是个表单控件?支持MyForm(xxx)这样的方法?解决方案五:看不懂!看不明白.解决方案六:这里是VB区看这个很麻烦的

重构JS代码:让JS代码平面化

js中的嵌套函数用的很多,很牛叉,那为何要平面化? 易懂(自己及他人) 易修改(自己及他人) 平时Ajax调用写法(基于jQuery) $.post('url', jsonObj, function (data) { if(data) { var tips = $.ligerDialog.tip({ title: 'Tip', content: 'Operation successful!' }); setTimeout(function () { tips.close(); }, 2000);

在IE上直接编辑网页内容的js代码(IE地址栏js)_javascript技巧

只要将下面的代码,在当前打开的页面的IE地址栏中,输入下面的js,即可以随意修改当前网页的内容了 复制代码 代码如下: javascript:document.body.contentEditable='true'; document.designMode='on'; 遇到不允许复制内容网页时,在IE地址栏输入上面这句代码,再双击页面就可以了.

JS代码教程:用JS区分用户浏览器

文章简介:JS判断IE,FF等浏览器类型. 第一种,只区分浏览器,不考虑版本function myBrowser(){var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串var isOpera = userAgent.indexOf("Opera") > -1; if (isOpera){return "Opera"}; //判断是否Opera浏览器if (userAgent.indexOf(&qu

js 代码集(学习js的朋友可以看下)_javascript技巧

/** * @author Super Sha * QQ:770104121 * E-Mail:supei_shafeng@163.com * publish date: 2009-3-27 * All Rights Reserved */ var JsHelper={}; //声明一个JsHelper根命名空间 JsHelper.DOM = {}; //声明JsHelper目录下的DOM命名空间 JsHelper.Event={}; //声明JsHelper目录下的Event事件命名空间 Js

Js代码失效问题,代码运行一段时间后,突然报错,请各位帮忙看一下,谢谢

问题描述 Js代码失效问题,代码运行一段时间后,突然报错,请各位帮忙看一下,谢谢 代码如下: <%@ page language="java" import="java.util.*" pageEncoding="gbk"%> <%@include file="/common/taglibs.jsp"%> <!DOCTYPE html> <html> <head> &

web表格导出到excel的JS代码

问题描述 web表格导出到excel的JS代码 用纯JS写并兼容所有主流浏览器,如果不用ActiveXObject和插件,请问还有其它的办法吗,或者说有什么可以替换的IE的ActiveXObject吗 解决方案 通过服务器端来搞,客户端能操作的资源太少. easyui datagrid数据导出excel文件 解决方案二: 导出EXCEL表格的代码js实现html表格导出到exceljs实现html表格导出到excel 解决方案三: 为什么要用JS啊,JS导致好多浏览器不兼容,建议使用 poi之类

eclipse中js提示-Eclipse如何自动提示js代码

问题描述 Eclipse如何自动提示js代码 之前用的是myeclipse,现在公司要用eclipse,之前在写js时,全部时靠自己的记忆来写js代码, 毕竟js代码过多,一些标签不可能都记住,每次要写还要百度,很不方便,我就百度找了下 有没有方法让eclipse自动提示js代码,在网上找了一大堆,看到许多一模一样的帖子,不用 安装插件就可以提示java.js.html代码,我照着他们的方法配置了,然而并没有什么卵用! 大家能不能支支招,是什么原因,有没有什么其他比较好的办法解决这个问题 解决方