TinyURL弹出窗口打开而不是选项卡

时间:2011-10-21 21:55:46

标签: flash actionscript-3 popup urlloader urlrequest

我在这里遇到了一个不寻常的问题。

我必须调用tinnyURL服务来缩短我的网址,它运行正常。之后,我必须调用另一个选项卡,但由于某种原因,它会调用弹出窗口。

我假设问题出在我调用tinyURL服务的时候,但我不知道如何修复它。

以下是我为此撰写的代码。

variables.url = String("http://www.google.com");
sendAndLoad("http://tinyurl.com/api-create.php", variables);


// tinyURL service
private function sendAndLoad( url:String, _vars:URLVariables ):void {

    request = new URLRequest(url);
    request.data = _vars;
    request.method = URLRequestMethod.POST;
    _urlloader = new URLLoader();
    _urlloader.dataFormat = URLLoaderDataFormat.TEXT;


    _urlloader.addEventListener(Event.COMPLETE, handleComplete);
    _urlloader.load(request);

}
// once I get the tinyURL response this function is triggered 
private function handleComplete(event:Event):void {
    var s:String = event.target.data;
    finalURL = "http://twitter.com/home?status=" + MESSAGE + " " + s;
    var url:URLRequest = new URLRequest(finalURL);
    navigateToURL(url); 
}

所以我对facebook有相同的“待办事项”(没有tinyURL)并且工作正常,我认为这是第一种方法中的一个问题(sendAndLoad();)

我已经使用过类似的替代品:

http://skovalyov.blogspot.com/2007/01/how-to-prevent-pop-up-blocking-in.htmlhttp://snipplr.com/view.php?codeview&id=29544

PS:如果我解锁Chrome上的弹出窗口,Twitter正在工作。我想做的就是在新标签页中打开。

如果你们有这样的问题,请告诉我,这很麻烦!

谢谢。

2 个答案:

答案 0 :(得分:1)

弹出窗口被阻止可能有很多原因,但在这种情况下我敢打赌,因为弹出窗口不会对用户事件(如点击或键盘输入)做出反应。

在您的情况下,这意味着在让用户选择发布到Twitter之前在后台进行网址缩短,并且当他们这样做时,您打开该新页面以响应他们的鼠标事件。

答案 1 :(得分:0)

又是我,我刚刚发现了问题。

我所做的就是避免使用TinyURL服务,并直接调用Twitter页面更新程序,如下所示。

var myString:String = "http://twitter.com/home?status=" + MESSAGE + " " + LINK;
var url:URLRequest = new URLRequest(myString);
navigateToURL(url);

幸运的是,Twitter有自己的URL缩短程序,当你将“http://”连接到网址的其余部分时,它就会做坏事。

谢谢大家