javascript在子页面中函数无法调试问题解决方法

 遇到在子页面中提交的时候会无法能够调试javascript代码的情况出现,下面有个不错的解决方法,希望对大家有所帮助

近期在做一个项目,会遇到在子页面中提交的时候会无法能够调试javascript代码的情况出现,有时候这种问题,我们无法正常在浏览器,看到我们子页面的javascript代码,所以只能够用原始的alert 或者 console.log(),当然,这也是一种解决方法,但是有时候,我们就想看一下程序到底是如何运行的,同时也可以看每个参数到底是什么值,所以意义还是比较大的。 
 
我贴张图,大家就大概了解是什么时候会出现这个问题了。 
 代码如下:
<script> 
function stopWatchDog(watchDogId) { 
alert("aa"); 
var url = '<s:url value="/watchDog/stopWatchDog"/>'; 
var params = { 
watchDogId : watchDogId, 
}; 
$.post(url, params, function(data) { 
if (data.success) { 
closeDialog(); 
tbGrid.send(); 
} else { 
if (data.errorMsg != null && data.errorMsg != "") { 
jAlert(data.errorMsg, "系统消息"); 
} else { 
jAlert("停止异常", "系统消息"); 

$("#saveBtn").removeAttr("disabled"); 
$("#saveBtn").css("color", "white"); 

}, "json"); 

</script> 
 
这个其实是函数声明,大家如果了解javascript上下文的话,就知道其实函数声明只是在页面上下文加载的时候加载的函数名,其函数内容无法正常加载。 
 
如果我们换成函数自执行或者是在函数自治性中定义这个函数声明的话,那么就可以解决这个问题了。 
 代码如下:
(function(){ 
function stopWatchDog(watchDogId) { 
alert("aa"); 
var url = '<s:url value="/watchDog/stopWatchDog"/>'; 
var params = { 
watchDogId : watchDogId, 
}; 
$.post(url, params, function(data) { 
if (data.success) { 
closeDialog(); 
tbGrid.send(); 
} else { 
if (data.errorMsg != null && data.errorMsg != "") { 
jAlert(data.errorMsg, "系统消息"); 
} else { 
jAlert("停止异常", "系统消息"); 

$("#saveBtn").removeAttr("disabled"); 
$("#saveBtn").css("color", "white"); 

}, "json"); 

})(); 

时间: 2024-12-01 12:17:24

javascript在子页面中函数无法调试问题解决方法的相关文章

js中iframe框架子页面中调用父窗口函数

分两种情况: 第一种:在iframe子页面调用父页面js函数: 子页面调用父页面函数只需要写上window.praent就可以了.比如调用a()函数,可以写成:  代码如下 复制代码 window.praent.a(); a()为方法: 第二种:在iframe子父页面调用子页面js函数: 这个要稍微复杂些,我们可以用:  代码如下 复制代码 document.getElementById('ifrtest').contentWindow.b(); 注:ifrtest是iframe框架的id,b(

JavaScript跨浏览器获取页面中相同class节点的方法

 这篇文章主要介绍了JavaScript跨浏览器获取页面中相同class节点的方法,本文讲解使用getELementsByClassName函数解决这个需求,并给了一个开源的getELementsByClassName函数实现,功能更加强大,需要的朋友可以参考下     网页开发时,在很多时候我们需要操作相同类名的元素,即class相同的元素.昨天参加笔试,有一道相关的题目没答上来: JavaScript获取页面中class为test的节点 于是收集了一些相关的资料,在本文中列举了两种我觉得比较

javascript怎样在一个页面中加三个js

问题描述 javascript怎样在一个页面中加三个js window.onload = rolloverInit; function rolloverInit() { for (var i=0; i<document.links.length; i++) var linkObj = document.links[i]; if (linkObj.className) { var imgObj = document.getElementById(linkObj.className); if (im

div-点击DIV外任意地方隐藏此DIV 或点击iframe子页面中隐藏 父页面DIV

问题描述 点击DIV外任意地方隐藏此DIV 或点击iframe子页面中隐藏 父页面DIV <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> <script src="http://www.p

jQuery使用模式窗口实现在主页面和子页面中互相传值的方法_jquery

本文实例讲述了jQuery使用模式窗口实现在主页面和子页面中互相传值的方法.分享给大家供大家参考,具体如下: 主面面: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xht

Javscript调用iframe框架页面中函数的方法_javascript技巧

本文实例讲述了在Javscript调用iframe框架页面中函数的方法,这个调用方法其实非常的简单,有了这个方法我们就可以实现iframe之间传值或修改值了,操作起来都非常的简单.分享给大家供大家参考.具体实现方法如下: 访问iframe里面的函数: 复制代码 代码如下: document.getElementById('commentIframe').contentWindow.hasLogined(); commentIframe为iframe的id. 要在 window.onload里面执

viewflipper-android ViewFlipper管理的子页面中Button设置setEnabled(false)后执行无效,在线急等

问题描述 android ViewFlipper管理的子页面中Button设置setEnabled(false)后执行无效,在线急等 android FrameLayout布局中ViewFlipper管理的子页面中添加添加控件Button.SeekBar等控件,代码动态设置这些控件为不可用setEnabled(false) 代码执行后无效,控件还是可以继续使用,求高手解答...在线等.. 如果对activity中的控件 该控件未在ViewFlipper管理的子页面中,如对Button设置 set

如何获取iframe子页面中的所有a标签并替换其中的href参数

问题描述 如何获取iframe子页面中的所有a标签并替换其中的href参数 iframe中的src是其他系统的一个链接,iframe中包含了很多a标签,先需要将a标签中的src批量替换成其他标签,应该如何操作 解决方案 跨域没有?没有用下面的,跨域没搞 <script> function resetUrl(i) { var as = i.contentWindow.document.getElementsByTagName('a'); for (var i = 0, j = as.length

在子页面中获取或者设置母板面中的变量,别人的代码我怎么读取不了呀

问题描述 如何在子页面中获取或者设置母板面中的变量.需要先在母板页创建一个公共变量.1publicString_selFeed=string.Empty;2publicstringSelFeed3{4set{this._selFeed=value;}5get{return_selFeed;}6}复制代码子页面访问或者设置母板页的变量只需要使用Master.Page.SelFeed来操作.注意:需要在子页面加上<%@MasterTypeVirtualPath="~/母板.master&quo