有没有办法获得一个注册听众列表EventDispatcher?
我知道EventDispatcher有hasEventListener方法可以告诉你是否注册了任何监听器,但是有一种简单的方法可以查询EventDispatcher听众是什么吗?
我想做的一种方法是子类EventDispatcher覆盖addEventListener方法并将监听器存储在字典中,但这对我来说很笨拙.
有任何想法吗?
使用起来会更快吗?
myString.replace(/foo/g,"bar")
Run Code Online (Sandbox Code Playgroud)
而不是
myString.split("foo").join("bar")
Run Code Online (Sandbox Code Playgroud)
对于ActionScript 3中的长字符串?或者他们只是两种可比的方法来实现相同的结果?
我在谷歌浏览器中的网站遇到了一个非常奇怪的问题:
当我点击链接(从列表视图到详细信息页面)时,页面挂起,我Chrome会抛出一个对话框,要求我杀死该页面.页面永远不会显示.
但是,如果我直接导航到该页面,它会在Chrome中加载而不会出现任何问题.这两个操作(单击链接或导航到页面)在Safari和Firefox中都能正常工作.
在Chrome的设置中禁用"预测网络操作以提高网页加载效果"似乎可以解决问题,但这不是一个可行的解决方案,因为我无法控制用户的浏览器设置.
关于这种情况的更多细节:
链接只是一个常规<href>.我没有做任何javascript
click()处理或其他任何事情.我没有使用任何'prefetch'或'prerender' <link>元素.
所有页面都使用W3 html5验证器进行验证.
我正在导航的页面加载了很多JS,使用Knockout.js进行渲染并通过HTTP加载视频文件.
在该页面的场合做负载(经过很漫长的等待),Chrome似乎在后台已经使整个页面,并加载所有外部资源.如果我直接导航到页面,它不会预加载任何东西(我正在使用knockout来显示外部资源加载时的"请稍候"消息).
当我使用Charles记录网络请求时,Chrome似乎立即加载了该页面的HTML,但外部资源的请求似乎永远需要.
如果我查看活动监视器中的CPU使用情况,"Google Chrome渲染器"在从中加载时使用100%CPU href,但直接从页面加载时仅使用30%.
我正在使用最新版本的Chrome(22.0.1229.94)
所以 - 我的问题
有没有办法以编程方式禁用"预测网络操作以提高页面加载性能"?
或者是否有其他解决方案可以解决这个问题?
假设我有两个扩展的类Event:
public class CustomEventOne extends Event
{
public static const EVENT_TYPE_ONE:String = "click";
//... rest of custom event
Run Code Online (Sandbox Code Playgroud)
和
public class CustomEventTwo extends Event
{
public static const EVENT_TYPE_TWO:String = "click";
//... rest of custom event
Run Code Online (Sandbox Code Playgroud)
是否可以使用相同的字符串声明事件类型"click"?
或者事件类型标识符在整个应用程序中是否必须是唯一的?