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

yizhihongxing

要统计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日

相关文章

  • Android 一些常用的混淆Proguard

    下面是 Android 常用的混淆 Proguard 的完整攻略,主要包括以下几个部分: Proguard 简介 Proguard 的作用 Proguard 的启用和配置 Proguard 的一些示例说明 Proguard 简介 ProGuard 是一个 Java 代码混淆压缩工具,使用它可以对 Java 代码进行混淆和压缩,减小 APK 的大小,并且提高 …

    JavaScript 2023年6月10日
    00
  • JavaScript 巧学巧用

    JavaScript 巧学巧用完整攻略 JavaScript 是一种脚本语言,具有广泛的应用场景,尤其在 Web 开发中独树一帜。掌握 JavaScript 不仅可以增加开发效率,还可以开发出更加炫酷、交互性更强的网站和应用。本文将为大家介绍 JavaScript 巧学巧用的攻略,包括常用的技巧和使用示例。 1. 事件监听 事件监听是 JavaScript …

    JavaScript 2023年5月18日
    00
  • js delete 用法(删除对象属性及变量)

    下面我来详细讲解 “js delete 用法(删除对象属性及变量)” 的完整攻略。 1. 什么是 delete delete 是 JavaScript 的一个关键字,用于从对象中删除一个属性或者从数组中删除一个元素。注意,delete 只会删除属性/元素,而不会影响对象/数组的长度或属性列表。此外,delete 操作不会影响对象的原型链,也不会删除属性上的 …

    JavaScript 2023年5月27日
    00
  • createElement动态创建HTML对象脚本代码

    当我们需要在网页中动态创建HTML元素时,可以使用document.createElement()方法,其语法格式为: document.createElement(tagName) 其中tagName是指要创建的HTML元素的标签名,比如div,p,ul等。 接下来,我们来具体介绍使用createElement动态创建HTML对象的完整攻略: 1. 创建H…

    JavaScript 2023年6月10日
    00
  • IE浏览器与FF浏览器关于Ajax传递参数值为中文时的区别实例分析

    针对“IE浏览器与FF浏览器关于Ajax传递参数值为中文时的区别实例分析”,我们可以从以下几个方面进行讲解: URL编码的区别 在使用Ajax传递参数时,中文参数需要进行URL编码,然后再进行发送。而IE浏览器和FF浏览器对URL编码的处理是不同的: IE浏览器:使用escape()函数对中文参数进行编码。 FF浏览器:使用encodeURIComponen…

    JavaScript 2023年5月19日
    00
  • Lua脚本语言简明入门教程

    Lua脚本语言简明入门教程攻略 1. Lua概述 Lua是一种轻量级、高效的嵌入式脚本语言,其语法简单、易于学习和使用,可以被嵌入到各种应用程序中进行扩展。Lua的核心库非常小,但是却包括了基本的数据类型、控制结构、函数、文件操作等常用功能。 2. Lua基础 2.1 变量和数据类型 Lua的基本数据类型包括:nil、boolean、number、strin…

    JavaScript 2023年6月10日
    00
  • JavaScript如何使用插值实现图像渐变

    JavaScript中使用插值实现图像渐变的步骤如下: 创建canvas元素,并设置其宽度、高度等属性。 <canvas id="canvas"></canvas> 获取canvas元素的2D上下文对象,用于绘图。 const canvas = document.getElementById(‘canvas’); …

    JavaScript 2023年6月10日
    00
  • flash javascript之间的通讯方法小结

    Flash JavaScript之间的通讯方法小结 在开发网络应用程序的过程中,我们常常需要使用Flash和JavaScript之间的通讯。下面是一些常见的通讯方法。 1. ExternalInterface ExternalInterface 类是Flash和JavaScript之间通讯的最基本的方法,它提供了一个双向的接口,可以在Flash和JavaSc…

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