我在这里遇到了一个不寻常的问题。
我必须调用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正在工作。我想做的就是在新标签页中打开。
如果你们有这样的问题,请告诉我,这很麻烦!
谢谢。
答案 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://”连接到网址的其余部分时,它就会做坏事。
谢谢大家