Javascript 如何通过onload将动态url传递给函数
我需要一个hep在这方面,我试图传递一个动态url到一个函数 代码 val.logo包含如下url: 我需要将此url传递给下面的函数Javascript 如何通过onload将动态url传递给函数,javascript,jquery,onsen-ui,Javascript,Jquery,Onsen Ui,我需要一个hep在这方面,我试图传递一个动态url到一个函数 代码 val.logo包含如下url: 我需要将此url传递给下面的函数 function getImage(url) { setStorage("merchant_logo",url); var logo = getStorage("merchant_logo"); onsenAlert(logo); return logo; } function loadPageMerchantInfo(str) { var merlogos
function getImage(url)
{
setStorage("merchant_logo",url);
var logo = getStorage("merchant_logo");
onsenAlert(logo);
return logo;
}
function loadPageMerchantInfo(str)
{
var merlogos = getImage();
onsenAlert(merlogos);
setStorage("merchant_id",str);
var options = {
animation: 'none',
onTransitionEnd: function() {
displayMerchantLogo2(
merlogos,
'' ,
'page-merchantinfo'
);
callAjax("getMerchantInfo","merchant_id="+ getStorage('merchant_id'));
}
};
sNavigator.pushPage("merchantInfo.html", options);
merhantPopOverMenu.hide();
}
因此,当我打印值时,没有任何内容,只是在html中显示“未定义”。:
onload="getImage(val.logo);";
js内部:
window.onload=()=>getImage(val.logo);
window.onclick=()=>loadPageMerchantInfo(val.merchant_id);
您可以看看箭头函数(普通函数也可以)和闭包
为什么您的代码不起作用:
window.onload="a string";
//the js engine does:
window.onload();
//wich will cause an error:
ERROR: window.onload is not a function!
如果您真的想要这种糟糕的字符串样式,您需要将字符串转换为函数:
onload=new Function("getImage("+ val.logo +");");
onclick=new Function("loadPageMerchantInfo("+ val.merchant_id +");");
然而,每个JSlover都会因此杀了你。onload=“getImage('+val.logo+);“onclick=“loadPageMerchantInfo('+val.merchant_id+);应该是onload=“getImage(val.logo);“onclick=“loadPageMerchantInfo(val.merchant\u id);因为你不能在functions.htm+=''中插入这样的字符串;嗨,乔纳斯,我正在使用一个API和htm+='';如果不使用“+”我就无法获得值。通过使用上述代码,我得到+val.merchant_id+的值。但是我没有得到+val.logo+的值,因为val.logo包含一个url。@stalinstephen我认为您应该更深入地了解js。我们已经给了你必要的答案…兄弟我理解你。。让我补充一下:这是一个Phonegap应用程序
onload=new Function("getImage("+ val.logo +");");
onclick=new Function("loadPageMerchantInfo("+ val.merchant_id +");");