ここで珍しい問題が発生します。
URL を短縮するには、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.html および http://snipplr.com/view.php?codeview&id=29544
PS: Chrome でポップアップのブロックを解除すると、Twitter が機能します。私がしたいのは、新しいタブで開くことだけです。
皆さんがすでにそのような問題を抱えている場合はお知らせください。かなり面倒です。
ありがとうございました。