[英]Javascript functions being executed twice
我有下一個代碼,我試圖在屏幕上打印一些數據。 我面臨的問題是每個 function 都被執行了兩次,因此console.log
也出現在我的控制台上兩次。
發生這種事情真的很奇怪。 我的代碼是這樣的:我嘗試使用window.onload
執行此操作,還嘗試導入document.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>
那么答案的解決方案是從這里刪除src='#'
。
<iframe class="pt-4" frameborder="0" width="100%" height="100%" src='' name="zoom360" id="zoom360" style="display:none;"></iframe>
它在父 window 和同一個 iframe 上加載相同的頁面,這就是為什么它看起來像被調用兩次的函數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.