2011-10-21 22 views
0

私はここで珍しい問題を抱えています。タブの代わりにTinyURLポップアップを開く

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.htmlhttp://snipplr.com/view.php?codeview&id=29544

PS:

は、私はすでにのような代替手段を使用していた私はクロームのポップ・アップのブロックを解除のIFさえずりが働いています。私がしたいのは、新しいタブで開くことだけです。

皆さんに既にこのような問題があったら教えてください。それはかなり面倒です!

ありがとうございます。

+0

OK、これをまっすぐにしましょう。どんなブラウザでもいくつかのタブを開きたいですか?ちょうどあなたはそれがウィンドウ/タブがどのように開いているかに関するブラウザ設定であるので、これを制御できないことを知っています。 –

+0

はhttp://stackoverflow.com/questions/726761/javascript-open-in-a-new-window-not-tabを参照してください。彼らはあなたが望むものの反対を望んでいます。 –

答えて

1

あなたのポップアップがブロックされている理由はたくさんありますが、ポップアップがクリックやキーボード入力などのユーザーイベントに反応しないためです。

あなたのケースでは、ユーザーがTwitterに投稿することを選択させる前にバックグラウンドでURLを短縮することを意味し、マウスイベントに応じてその新しいページを開きます。

0

もう一度私は問題を理解しました。

私がしたのは、TinyURLサービスを避け、Twitterページアップデータを直接以下のように呼び出すことでした。幸いにも

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

、Twitterはあなたが「のhttp://」を連結する際に、独自のURL短縮サービスがあり、URLの残りの部分に、それは汚い仕事を行います。

ありがとうございました

関連する問題