JS统计Flash被网友点击过的代码

要统计Flash被网友点击过的次数,需要使用JavaScript监听Flash的点击事件并发送统计数据。以下是完整攻略:

步骤一:检测Flash是否存在

在HTML页面中,使用 objectembed 标签嵌入Flash对象,需要先判断Flash是否存在。

<div id="flashContainer">
  <object type="application/x-shockwave-flash" data="flash.swf" id="flashObject">
  </object>
</div>
var flashObject = document.getElementById('flashObject');
if (flashObject && flashObject.PercentLoaded() === 100) {
  // Flash已加载完成
  // 监听Flash的点击事件
  flashObject.addEventListener('click', function() {
    // 统计点击次数
    // 发送AJAX请求
  });
} else {
  // Flash未加载完成,等待加载完成后再处理
  flashObject.addEventListener('load', function() {
    flashObject.addEventListener('click', function() {
      // 统计点击次数
      // 发送AJAX请求
    });
  });
}

步骤二:监听Flash的点击事件

Flash的点击事件是在 Flash 对象上触发的,而非在 HTML 页面上触发的。因此,需要在 JavaScript 中用 addEventListener() 监听 Flash 对象上触发的点击事件。

flashObject.addEventListener('click', function() {
  // 统计点击次数
  // 发送AJAX请求
});

步骤三:发送AJAX请求

在监听到Flash的点击事件时,需要向服务器发送统计数据。可以使用XMLHttpRequest()发送一个AJAX请求。

var xhr = new XMLHttpRequest();
xhr.open('POST', '/path/to/statistics', true);
xhr.setRequestHeader('Content-type', 'application/json');
xhr.onreadystatechange = function() {
  if (xhr.readyState === 4 && xhr.status === 200) {
    console.log('OK');
  }
};
xhr.send(JSON.stringify({
  'flashId': 'flashObject',
  'clicks': 1
}));

上述代码会向 /path/to/statistics 发送一个POST请求,并带上一个JSON对象。JSON对象包含了Flash对象的id和点击次数。服务端可以根据接收到的数据进行统计。

示例一:统计Flash被点击的次数

var flashObject = document.getElementById('flashObject');
if (flashObject && flashObject.PercentLoaded() === 100) {
  // Flash已加载完成
  // 监听Flash的点击事件
  flashObject.addEventListener('click', function() {
    // 统计点击次数
    var xhr = new XMLHttpRequest();
    xhr.open('POST', '/path/to/statistics', true);
    xhr.setRequestHeader('Content-type', 'application/json');
    xhr.onreadystatechange = function() {
      if (xhr.readyState === 4 && xhr.status === 200) {
        console.log('OK');
      }
    };
    xhr.send(JSON.stringify({
      'flashId': 'flashObject',
      'clicks': 1
    }));
  });
} else {
  // Flash未加载完成,等待加载完成后再处理
  flashObject.addEventListener('load', function() {
    flashObject.addEventListener('click', function() {
      // 统计点击次数
      var xhr = new XMLHttpRequest();
      xhr.open('POST', '/path/to/statistics', true);
      xhr.setRequestHeader('Content-type', 'application/json');
      xhr.onreadystatechange = function() {
        if (xhr.readyState === 4 && xhr.status === 200) {
          console.log('OK');
        }
      };
      xhr.send(JSON.stringify({
        'flashId': 'flashObject',
        'clicks': 1
      }));
    });
  });
}

示例二:将统计结果展示在网页上

<div id="flashStatistics">
  <p>Flash被点击了<span id="flashClicks">0</span>次。</p>
</div>
var flashObject = document.getElementById('flashObject');
if (flashObject && flashObject.PercentLoaded() === 100) {
  // Flash已加载完成
  // 监听Flash的点击事件
  flashObject.addEventListener('click', function() {
    // 统计点击次数
    var xhr = new XMLHttpRequest();
    xhr.open('POST', '/path/to/statistics', true);
    xhr.setRequestHeader('Content-type', 'application/json');
    xhr.onreadystatechange = function() {
      if (xhr.readyState === 4 && xhr.status === 200) {
        // 将统计结果展示在网页上
        var flashClicks = document.getElementById('flashClicks');
        flashClicks.textContent = parseInt(flashClicks.textContent) + 1;
      }
    };
    xhr.send(JSON.stringify({
      'flashId': 'flashObject',
      'clicks': 1
    }));
  });
} else {
  // Flash未加载完成,等待加载完成后再处理
  flashObject.addEventListener('load', function() {
    flashObject.addEventListener('click', function() {
      // 统计点击次数
      var xhr = new XMLHttpRequest();
      xhr.open('POST', '/path/to/statistics', true);
      xhr.setRequestHeader('Content-type', 'application/json');
      xhr.onreadystatechange = function() {
        if (xhr.readyState === 4 && xhr.status === 200) {
          // 将统计结果展示在网页上
          var flashClicks = document.getElementById('flashClicks');
          flashClicks.textContent = parseInt(flashClicks.textContent) + 1;
        }
      };
      xhr.send(JSON.stringify({
        'flashId': 'flashObject',
        'clicks': 1
      }));
    });
  });
}

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JS统计Flash被网友点击过的代码 - Python技术站

(0)
上一篇 2023年6月11日
下一篇 2023年6月11日

相关文章

  • javascript 三种数组复制方法的性能对比

    首先,我们需要了解 Javascript 中有哪些常见的数组复制方法以及它们的性能对比。常见的数组复制方法包括: 使用 slice() 方法复制数组 使用展开运算符 … 进行复制 使用 Array.from() 方法进行复制 接下来,我们将分别介绍这三种方法的具体实现及性能测试。 使用 slice() 方法复制数组 slice() 方法可以从已有的数组中…

    JavaScript 2023年5月27日
    00
  • 浅谈C#.NET、JavaScript和JSON

    浅谈C#.NET、JavaScript和JSON C#.NET C#.NET是由微软公司开发的一种多范式编程语言。它具有类型安全、面向对象、高性能和可维护性等特点。除了Windows操作系统外,它还支持跨平台开发,可以在Linux和macOS上编写应用程序。在C#.NET中,JSON(JavaScript Object Notation)可以方便地序列化和反…

    JavaScript 2023年5月27日
    00
  • 判断文件是否正在被使用的JS代码

    判断文件是否正在被使用是一个常见的需求,特别是在需要删除或移动文件的场景中。以下是一些主流的实现方案: 方案一:尝试修改文件属性 文件被占用时,尝试修改文件属性或对文件进行写操作会导致操作失败。因此,可以通过尝试修改文件属性或写入数据来判断文件是否正在被占用。以下是示例代码: function isFileInUse(filePath) { let isUs…

    JavaScript 2023年5月27日
    00
  • js中的异常处理try…catch使用介绍

    下面是“JS中的异常处理try…catch使用介绍”的完整攻略。 概述 JavaScript 中的异常处理是许多开发者经常会遇到的问题,特别是在复杂、大型的应用程序中。如果没有适当的异常处理,运行时的错误可能会导致应用程序的崩溃,这对于用户来说是非常糟糕的体验。在 JavaScript 语言中,可以通过 try…catch 语句块来保护我们的程序如果…

    JavaScript 2023年5月28日
    00
  • TypeScript 泛型的使用

    TypeScript 泛型的使用 泛型是指在定义函数、接口或类时,不预先指定具体的类型,而在使用时再指定类型的一种特性。它可以让我们写出更加灵活、通用的代码,并提高代码的复用性。 泛型函数 定义一个泛型函数的语法为: function 函数名<T>(参数1: T, 参数2: T, …): T { // 函数体 } 其中,函数名后面的 <…

    JavaScript 2023年5月28日
    00
  • JavaScript查看代码运行效率console.time()与console.timeEnd()用法

    下面是JavaScript查看代码运行效率console.time()与console.timeEnd()用法的完整攻略。 什么是console.time()与console.timeEnd() console.time() 和 console.timeEnd() 是 console 对象中的两个方法,用于查看代码的运行效率。代码块在这两个方法中间的执行时间…

    JavaScript 2023年5月27日
    00
  • 非常好用的JsonToString 方法 简单实例

    接下来我将详细讲解如何实现一个非常好用的“JsonToString”方法。本攻略包含以下几个部分: 什么是JsonToString方法 JsonToString方法的实现原理 如何使用JsonToString方法 示例说明 1. 什么是JsonToString方法 JsonToString方法是将一个JSON对象转换为字符串的方法。在前端开发中,经常需要将J…

    JavaScript 2023年5月27日
    00
  • js禁止页面刷新与后退的方法

    下面是“js禁止页面刷新与后退的方法”的完整攻略。 1. 禁止页面刷新的方法 1.1 使用onbeforeunload事件 onbeforeunload事件是在页面即将卸载前触发的事件,可以用来在用户离开当前页面之前做一些操作,比如弹出确认框,阻止页面刷新等等。 通过监听onbeforeunload事件,并在事件处理函数中返回一个字符串,可以让浏览器弹出一个…

    JavaScript 2023年6月11日
    00
合作推广
合作推广
分享本页
返回顶部