在调用window.open之前,我正在调用javascript将参数附加到我的URL。该代码在除我的主页以外的所有页面上均能完美运行。在主页上,“ =”放在参数列表中。有什么想法吗?
在除主页以外的所有页面上,窗口将按预期方式打开: https://dev.mysite.com/?m_=myModal0
在主页上,窗口打开如下: https://dev.mysite.com/?m_myModal0
<a href="<?php echo $my_link; ?>" target="_self" onclick="OpenModal('myModal<?php echo $count;?>')" class="btn get_code" id="get_code<?php echo $count; ?>"><?php esc_html_e('get code', 'comre');?></a>
<script>
function OpenModal(modalid){
var win;
//event.preventDefault();
if(window.location.href.indexOf("m_") > -1) {
var reexp = new RegExp(/m_=(.*?)$/);
var url = window.location.toString();
var newUrl = url.replace(reexp, ("m_=" + modalid));
win = window.open(newUrl, '_blank');
}
else {
if(window.location.href.indexOf("?") > -1) {
win = window.open(document.URL+"&m_="+modalid, '_blank');
}
else {
win = window.open(document.URL+"?m_="+modalid, '_blank');
}
}
win.focus();
return true;
}
</script>
控制台中没有显示错误。
答案 0 :(得分:0)
对您的用户友好:不要通过坚持var filename = "page_" + type + ".htm"
$( "#C2" ).hide()
$( "#bkmk00" ).load(filename, function(){
$( "#bkmk00" ).fadeIn(500);
});
来强迫他们在您的网站上允许弹出窗口。而是,创建一个普通的导航链接,然后单击它。所以代替这个:
window.open
使用此:
var url = window.location.toString();
...
window.open(url);
还有更多代码吗?当然,但这是一次性函数声明,因此不值得关注:call。但这也意味着打开一个URL,就像浏览器一样,当人们在页面之间导航时,浏览器会执行通常的操作。