页面加载时弹出带有 cookie 的窗口不起作用
我使用 此 作为示例,在页面加载时创建弹出窗口。代码在本地工作正常,但当我将其添加到服务器上时,它不起作用。我认为某些脚本可能与它冲突,但我不确定是哪一个。我在 Magento 1.7 上运行。
1) 这是我正在使用的 链接 。
步骤 1
添加 CSS & JS
<link rel="stylesheet" type="text/css" href="<?php echo $this->getJSUrl('pop/colorbox.css'); ?>" media="screen"/>
<link media="screen" rel="stylesheet" target="_blank" href="<?php echo $this->getJSUrl('pop/popup.css'); ?>" />
<script language="javascript" src="<?php echo $this->getJSUrl('pop/colorbox.js'); ?>"></script>
步骤2
在
</head>
前添加函数
<script>
$(document).ready(function (){
// load the overlay
if (document.cookie.indexOf('visited=true') == -1) {
var fifteenDays = 1000*60*60*24*15;
var expires = new Date((new Date()).valueOf() + fifteenDays);
document.cookie = "visited=true;expires=" + expires.toUTCString();
$.colorbox({width:"580px", inline:true, href:"#subscribe_popup"});
}
$(".open_popup").colorbox({width:"580px", inline:true, href:"#subscribe_popup"});
});
步骤3
在页脚处添加 HTML
<p>The subscription popup will activate if no cookie is set. Once the popup is closed a cookie is set which expires every 15 days. You can manually activate the subscription box below.</p>
<a href="#" class="open_popup">Click here to open the popup</a>
<!-- This contains the hidden content for inline calls for the subscribe box -->
<div style='display:none'>
<div id='subscribe_popup' style='padding:10px;'>
<h2 class="box-title">Never miss an update from Papermashup</h2>
<h3 class="box-tagline">Get notified about the latest tutorials and downloads.</h3>
<!-- BEGIN #subs-container -->
<div id="subs-container" class="clearfix">
<!-- BEGIN .box-side -->
<!-- BEGIN #subs-container -->
</div>
</div>
</div>
<!-- END subscribe popup-->
这是一个工作示例: http://jsfiddle.net/5USUu/6/
您必须包含 jQuery,然后包含您正在使用的
[colorBox.js][1]
插件,一旦包含,一切都应该可以正常工作。我在 colorBox 中看到一个弹出窗口,其中显示文本
永远不要错过 Papermashup 的更新
。
我还更改了:
$("document") => $(document)
查看 JSFiddle。
事实上它在本地工作而不是在你的服务器上,这意味着文件可能不在你的服务器上(或使用错误的 mime 类型传输),请检查你的
Console
以查找要调试的错误。
此外,我看到查看你的源代码( http://miirue.com/m1/ )你包含了两次 jquery 库,我还看到你包含了大量其他库,因此你可能需要使用 jQuerys noConflict 方法。
我发现您的代码存在很多问题,我对它无法正常工作并不感到惊讶。使用您的控制台进行调试,确保 html 全部有效,并且所有资源都使用正确的 mime 类型进行传输并且确实存在。
您的代码似乎没有任何问题(除了 $("document") => $(document) ),如果您的 javascript 在某处中断,它将破坏所有内容,因此请确保您的语法有效且正确。