Javascript调用方法无法在移动设备上运行

时间:2018-03-12 19:34:05

标签: javascript google-chrome mobile safari

我有一个3年前编写的脚本来跟踪在桌面浏览器上完美运行的视频播放器事件,但它不能在iPhone的Safari和Chrome上运行。我必须让它发挥作用。

以下是代码的一部分。我已删除所有其他功能,以便简单易懂地理解我的问题。

(function() {

  videojs.plugin('ga', function(options) {

    sendbeacon = function(action, nonInteraction, value) {

    };
    this.ready(function() {
        alert("ready");
    });
    return {
      'sendbeacon': sendbeacon
    };
  });

}).call(this);

当我在桌面浏览器上运行它时,它运行没有问题,并显示警报。

当我在iPhone的Safari或Chrome上运行它时,没有任何反应。

我在移动浏览器上也应该改变什么?

更新

注意到如果我将代码移动到html标题,它可以在移动设备上运行:

<script type="text/javascript">
(function() {

      videojs.plugin('ga', function(options) {

        sendbeacon = function(action, nonInteraction, value) {

        };
        this.ready(function() {
            alert("ready");
        });
        return {
          'sendbeacon': sendbeacon
        };
      });

    }).call(this);
</script>

在文件中,它不会在移动设备上工作。像这样它只适用于桌面浏览器:

<script type="text/javascript" src="<?php echo $hostname;?>/js/tracking.js"></script>

0 个答案:

没有答案