-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathUtils.as
88 lines (69 loc) · 2.28 KB
/
Utils.as
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
package {
import flash.net.*;
import flash.utils.getTimer;
public class Utils {
public static var lastTime:Number = 0;
public static function gcHack():void {
// unsupported technique that seems to force garbage collection
try {
new LocalConnection().connect('foo');
new LocalConnection().connect('foo');
} catch (e:Error) {}
}
/**
*
* converte os valores da string do window.location.search em um objeto
* ex:
* no htm :
* so.addVariable('queryString', escape(window.location.search.toString()));
*
* no flash:
* s = '?q=window+location&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:official&client=firefox-a'
*/
public static function converteWindowLocationSearch($locationString:String):Object {
var _objetoDestino:Object = {}
var _pares:Array
//EmbedPlayer.swf?name_id=sc2&op=y
$locationString = $locationString.substr($locationString.indexOf('?')+1);
$locationString = unescape($locationString); //trata porque ja deve checar escaped
$locationString = $locationString.split('?').join(''); //remove o '?'
_pares = $locationString.split( '&' ); //splita em pares
var _par:*
var _chave:*
var _valor:*
//atribui ao objeto destino
for (var i:Number = 0; i < _pares.length; i++) {
_par = _pares[i].split('=');
_chave = _par[0]
_valor = _par[1]
_objetoDestino[_chave] = _valor;
}
return _objetoDestino;
}
public static function stopWatch():Number
{
var ret:Number = getTimer() - lastTime;
lastTime = getTimer();
return ret
}
public static function getCallStack():String
{
var str:String = new Error().getStackTrace();
var lines:Array = str.split("\n");
var ret:String = "";
lines.splice(1, 1); // remove o primeiro elemento, que é a chamada a esta funcao
for each (var line:String in lines)
{
line = line.replace("at ", "");
line = line.replace("/", ".");
var i0:int = line.indexOf("[");
var i1:int = line.lastIndexOf(":")
var i2:int = line.lastIndexOf("]");
ret += line.substring(0, i0) + line.substring(i1, i2) + "\n";
}
str = line = "";
lines.length = 0;
return ret
}
}
}