我第一次尝试制作sitelocked Flash文件,我不知道该怎么做。 我在网上找到了一对夫妇的教程,他们都没有为我工作。 我会发布一个我在网上找到的。Actionscript 3 sitelocking
在此之前我会解释一下我的情况。
我导出了第2帧上的所有分类,第1帧1我的预加载器有预加载器图形和简单的 progress事件。
这是我的Main(类)公共函数在添加sitelocking代码之前的样子: 如果可以,请在下面的代码中添加'somelocking代码'。
public function Main()
{
loaderInfo.addEventListener(Event.COMPLETE, preloaderDone);
}
private function preloaderDone(e:Event):void
{
showMenu(); // game will start here
}
一切正常,但现在我想在preloader完成后检查域名。 其实我试图设置loaderInfo.addEventListener(Event.COMPLETE,preloaderDone) 只有Flash文件托管在正确的域名,否则我想显示文本字段 'Accesdenied'。当我做到这一点后,闪存文件被锁定在所有域上,我尝试了与 不同的域名,但它不会工作,我也尝试将绝对路径放到swf文件中,如mywebsite.com/myflashfile.swf 。它总是显示访问被拒绝。这是我在网上找到的 的代码,我试图使用它。
public function Main()
{
var url:String=stage.loaderInfo.url;
var goodPattern:RegExp=/^(http:\/\/)(www\.)?somewebsite\.com/;
if (goodPattern.test(url)==true)
{
loaderInfo.addEventListener(Event.COMPLETE, preloaderDone);
}
else
{
myTxtFieled.text = "Acces denied."
stage.addChild(myTxtField);
}
其实我用这个,如果(this.loaderInfo.url.indexOf( “myDomain.com”)!= -1)...的addEventListener,否则显示ACCES否认。只有一行代码?我不知道。非常感谢你,我很难相信它的工作原理:) –
呃,只是要清楚,如果陈述代替了我上面写的那个,但是:是的,它应该完成这项工作,我想。 :) – Atriace
我认为一个字符串比较会比indexOf更好 - 否则URL“www.myEvilDomain.com/test.swf?cheating=myDomain.com”将通过您的测试 – 2013-10-29 21:17:24