0

我这里有一个不常见的问题。

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

我假设问题出在我调用 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 正在运行。我想做的就是在新标签页中打开。

让我知道你们是否已经遇到过这样的问题,这很麻烦!

谢谢你。

4

2 回答 2

1

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

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

于 2011-10-21T23:22:32.797 回答
0

又是我,我才发现问题所在。

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

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

幸运的是,Twitter 有自己的 URL 缩短器,当您将“http://”连接到 url 的其余部分时,它会做一些肮脏的工作。

谢谢你们

于 2011-10-22T17:34:55.030 回答