Javascript函数被执行两次
我有下一个代码,我正试图在屏幕上打印一些数据。 我面临的问题是,每个函数执行两次,因此Javascript函数被执行两次,javascript,jquery,Javascript,Jquery,我有下一个代码,我正试图在屏幕上打印一些数据。 我面临的问题是,每个函数执行两次,因此console.log也会在我的控制台上出现两次 这件事真的很奇怪。 我的代码是这样的: 我尝试了使用window.onload执行此操作,还尝试了导入文档中的函数。ready 但是没有运气 如果有人能给我任何我做错了什么的暗示,那将是非常感激的 <body class="stretched"> <div id="wrapper" class=&
console.log
也会在我的控制台上出现两次
这件事真的很奇怪。
我的代码是这样的:
我尝试了使用window.onload执行此操作,还尝试了导入文档中的函数。ready
但是没有运气
如果有人能给我任何我做错了什么的暗示,那将是非常感激的
<body class="stretched">
<div id="wrapper" class="clearfix">
<!--Cargamos Layout de NavBar -->
@Html.Partial("_NavBar_DataUser")
<!--Fin de Carga -->
<section id="carouselComercialTop" class="mt-auto">
<div class="content-wrap">
<!--Cargamos el caroussel stático -->
@Html.Partial("_Layout_Caroussel")
</div>
</section>
@Html.Partial("_Layout_Medicina360")
<iframe class="pt-4" frameborder="0" width="100%" height="100%" src='#' name="zoom360" id="zoom360" style="display:none;"></iframe>
</div>
@Html.Partial("_Layout_DataUserFooter")
<script type="text/javascript" src="//code.jquery.com/jquery-migrate-1.2.1.min.js"></script>
<script type="text/javascript" src="/lib/slick-1.8.1/slick/slick.min.js"></script>
<link rel="stylesheet" type="text/css" href="/lib/slick-1.8.1/slick/slick-theme.css" />
<link rel="stylesheet" type="text/css" href="/lib/slick-1.8.1/slick/slick.css" />
</body>
<script>
window.ca_model = [];
let stringJSONConsultaBuscador = ("@Context.Session.GetString("ConsultaBuscador")");
window.ca_model = JSON.parse(stringJSONConsultaBuscador.replace(/"/g, '"'));
let especialistas = window.ca_model.listaEspecialistas;
let especialista360varon = [];
let especialista360mujer = [];
let especialista360nino = [];
let listaEspecialistas = window.ca_model.listaEspecialistas;
let varon360 = listaEspecialistas.filter(b => b.hombres360 !== false);
let mujer360 = listaEspecialistas.filter(b => b.mujeres360 !== false);
let ninos360 = listaEspecialistas.filter(b => b.ninos360 !== false);
especialista360varon.push(varon360);
especialista360mujer.push(mujer360);
especialista360nino.push(ninos360);
especialista360varon = especialista360varon[0];
especialista360mujer = especialista360mujer[0];
especialista360nino = especialista360nino[0];
function loadEspecialista360Varon(especialista360varon) {
console.log(especialista360varon);
}
function loadEspecialista360Mujer(especialista360mujer) {
console.log(especialista360mujer);
}
function loadEspecialista360Nino(especialista360nino) {
console.log(especialista360nino);
}
window.onload = function () {
loadEspecialista360Varon(especialista360varon);
loadEspecialista360Mujer(especialista360mujer);
loadEspecialista360Nino(especialista360nino);
};
$(document).ready(function () {
let mobile = window.matchMedia('(max-width: 767px)').matches;
let url = window.location.href;
$('.link-carousel').each(function(){
let href = $(this).attr("href");
let container = $(this).parent().parent();
if (url.indexOf(href) > -1){
container.css({"background-color" : "rgb(173, 124, 177)"});
}
});
let cuadroMedicoButton = document.getElementById("cuadroMedicoButton");
cuadroMedicoButton.setAttribute("href", "/CuadroAsistencial/AsistenciaSpecialistas");
if (mobile) {
$('#mainRow').removeClass("d-flex");
$('#mainCol').removeClass("d-flex");
$('#containerMedicina360').replaceClass("py-5 py-2");
}
});
</script>
@Html.Partial(“\u NavBar\u DataUser”)
@Html.Partial(“\u Layout\u Caroussel”)
@Html.Partial(“\u Layout\u Medicina360”)
@Html.Partial(“\u布局\u数据用户页脚”)
window.ca_model=[];
让stringJSONConsultaBuscador=(“@Context.Session.GetString(“ConsultaBuscador”)”);
window.ca_model=JSON.parse(stringJSONConsultaBuscador.replace(/“/g,”);
让specialistas=window.ca_model.listeSpecialistas;
设specialista360varon=[];
让特别是360mujer=[];
让特别是尼诺=[];
让listaEspecialistas=window.ca_model.listaEspecialistas;
让varon360=listeSpecialistas.filter(b=>b.hombres360!==false);
让mujeres360=listeSpecialistas.filter(b=>b.mujeres360!==false);
让ninos360=listeSpecialistas.filter(b=>b.ninos360!==false);
特别是STA360Varon.push(varon360);
特别是STA360MUJER.push(mujer360);
特别是尼诺推(ninos360);
specialista360varon=specialista360varon[0];
specialista360mujer=specialista360mujer[0];
specialista360nino=specialista360nino[0];
函数加载Specialista360varon(Specialista360varon){
控制台日志(特别是STA360VARON);
}
函数加载Specialista360mujer(Specialista360mujer){
控制台日志(特别是STA360MUJER);
}
函数加载Specialista360Nino(Specialista360Nino){
控制台日志(特别是STA360NINO);
}
window.onload=函数(){
负荷专用STA360VARON(专用STA360VARON);
负荷特别是360MUJER(特别是360MUJER);
负荷特别是360Nino(特别是360Nino);
};
$(文档).ready(函数(){
让mobile=window.matchMedia('(最大宽度:767px')。匹配;
让url=window.location.href;
$('.link carousel')。每个(函数(){
让href=$(this.attr(“href”);
让容器=$(this.parent().parent();
如果(url.indexOf(href)>-1){
css({“背景色”:“rgb(173124177)”});
}
});
让cuadroMedicoButton=document.getElementById(“cuadroMedicoButton”);
setAttribute(“href”,“/CuadroAsistencial/AsistenciaSpecialistas”);
国际单项体育联合会(流动){
$('#mainRow').removeClass(“d-flex”);
$('mainCol').removeClass(“d-flex”);
$(“#containerMedicina360”).replaceClass(“py-5 py-2”);
}
});
答案的解决方案是删除src='#'
从这里开始
<iframe class="pt-4" frameborder="0" width="100%" height="100%" src='' name="zoom360" id="zoom360" style="display:none;"></iframe>
它在父窗口和同一iframe中加载相同的页面,这就是为什么它看起来像是被调用了两次的函数。您能否缩小到重新创建问题所需的最小代码?可能会将您的数据转换为一个片段作为js变量(如果需要重新创建),这样我们就可以看到它工作了。这有助于诊断问题吗?这似乎是一种可能性: