首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >每次访问运行一次函数

每次访问运行一次函数
EN

Stack Overflow用户
提问于 2018-09-14 11:53:15
回答 1查看 53关注 0票数 1

在此之前,您好,谢谢您的支持。

我有一个网站,我提供把美国游客通过一个模态弹出Q返回到我们的美国特定网站时,他们在我们的AU网站。

我只希望脚本在每次访问时运行一次。

我需要在下面添加什么才能实现这一点?

谢谢(ps-对ajax和HTML /CSS以外的任何东西都非常陌生)

代码语言:javascript
复制
$(document).ready(function() {

  $.ajax({
    url: 'https://api.ipstack.com/check?access_key=##hidden##',
    dataType: 'jsonp',
    success: function(location) {
      // AU -- Australia
      if (location.country_code === 'AU') {

      } else {
        // Reveal Modal to select AU or US store

        // Modal 1
        $('#popup-2').slickModals({
          popupType: 'delayed',
          delayTime: 0,
          overlayColor: 'rgba(0, 0, 0, 0.1)',
          popupWidth: '420px',
          popupHeight: 'auto',
          popupLocation: 'topCenter',
          popupAnimationDuration: '0.4',
          popupAnimationEffect: 'slideTop',
          popupMargin: '30px',
          popupPadding: '20px',
          mobileBreakPoint: '420px',
          mobileLocation: 'topCenter',
          mobileWidth: '100%',
          mobileHeight: 'auto',
          mobilePadding: '0px',
          reopenClass: 'openSlickModal-2'

        })
      }
    }
  });

});
EN

回答 1

Stack Overflow用户

发布于 2018-09-14 12:01:49

假设“访问”是在选项卡/浏览器关闭时结束的任何浏览器会话,您可以使用sessionStorage来存储一个标志。

例如

代码语言:javascript
复制
if (!sessionStorage.getItem('redirect-offered')) {
    $.ajax(...)
}

在你的成功处理程序中

代码语言:javascript
复制
if (location.country_code === 'AU') {

} else {
  // the value doesn't really matter, it just has to be "truthy"
  sessionStorage.setItem('redirect-offered', 1); 

  $('#popup-2').slickModals(...)
}

完整的代码示例在这里~ https://pastebin.com/X7Jy7BD2

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52324743

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档