1

设置:

  • 带有“youtube”的在线电视频道,例如剪辑和类别
  • 我们自己的 Flash 视频播放器,可以嵌入到其他远程站点
  • as2 闪存播放器

目标:至少使用每个域的基本统计信息来跟踪谁在嵌入我的视频。

由于它是 AS2,因此更难做到这一点。我的想法是我可以创建一个 PHP 页面,每次播放器在任何网站上加载时都应该打开该页面;然后 Flash 播放器可以对具有 Google Analytics 代码或其他一些不错的跟踪器的 PHP 文件执行“geturl”。

geturl 命令可以包含一个变量,比如已经包含在播放器中的视频标题;这个标题会通过 GET 传递给 PHP 文件,并设置一个可以很好地跟踪的动态页面标题。

问题:如何在不让用户浏览器打开新选项卡或窗口的情况下使用 GETURL 功能。有什么隐藏的方法吗?

4

3 回答 3

1

我发现的主要问题是,只有在 html 嵌入代码中有 allowScriptAccess 的情况下,对外部信息的控制才能存在,像这样:

<param name="allowScriptAccess" value="always">

allowScriptAccess="always"

在标签中。

这对我来说有点晚了,因为我不能告诉嵌入我的播放器的每个人将这些行添加到他们的网站,但是从现在开始......无论如何,想要隐藏的人可以轻松地删除这些行。所以我重命名了 SWF 文件……现在进行远程嵌入的每个人都必须检查并获取新代码。

这是有效的 AS2 代码:

function geturlhttp() {
//urlPath = ExternalInterface.call("window.location.href.toString");
urlPath = ExternalInterface.call("eval","document.location.href");

//both work, try which one is bet
}
geturlhttp();


var lv:LoadVars = new LoadVars();

lv.var1 = urlPath;
lv.var2 = title; //an internal variable, the name of the file


lv.sendAndLoad("http://www.somesite.test/tracker.php",lv,"POST");

因此,跟踪仅适用于我自己的站点,而不是在 sql 中为空或“null”的外部远程嵌入站点。

这是我用 SQL 编写的 PHP 代码。我只是为插入做了一些东西,稍后我将进行展示和选择......

<?php
//POST needs to be secured, this is just a test :)
$url = $_POST['var1'];
$title = $_POST['var2'];

$dbhost = "127.0.0.1"; // almost always localhost.
$dbname = "x";   // Database Name, In our case, its news
$dbuser = "x"; // Database Username
$dbpass = "x"; // Databse Password


$connect = mysql_connect("$dbhost","$dbuser","$dbpass");// Connecting to Database

mysql_select_db($dbname) or die (mysql_error()); // Selecting Database

$sql= "INSERT INTO tablename (urlrow, titlerow) VALUES ('$url','$title')";
$result = mysql_query($sql);

?>
于 2010-05-21T17:58:03.863 回答
0

最简单的方法是使用 LoadVars:

var lv:LoadVars = new LoadVars();

lv.var1 = "hostname";
lv.var2 = "browsersettings";

lv.send("http://yourserver/script.php, lv, "POST");

我不确定是否有任何沙盒限制。

于 2010-02-19T18:39:41.653 回答
0

萨鲁特丹,

好久没做as2了。

麻糬机器人
(来源:mochibot.com

我记得我用过mochibot,你可以跟踪你的 swf,无论它可能被嵌入到哪里。

他们可能仍然有 as2 跟踪。

于 2010-02-19T18:44:20.583 回答