Added a safe navigateToURL method for sending the browser to some page.
If the user embeds the flash client on their own page, if someone then clicks something to visit a msoy page, we will be unable to load that page in that same tab/window. Instead, we'll be forced by flash security restrictions to open in a blank window. Allow for either method, falling back to a blank window if the other method fails. git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4289 542714f4-19e9-0310-aa3c-eee0fc999fb1
This commit is contained in:
@@ -0,0 +1,36 @@
|
|||||||
|
package com.threerings.util {
|
||||||
|
|
||||||
|
import flash.net.URLRequest;
|
||||||
|
//import flash.net.navigateToURL; // function import
|
||||||
|
|
||||||
|
public class NetUtil
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Convenience method to load a web page in the browser window without
|
||||||
|
* having to worry about SecurityErrors in various conditions.
|
||||||
|
*/
|
||||||
|
public static function navigateToURL (
|
||||||
|
url :String, newWindow :Boolean = false) :void
|
||||||
|
{
|
||||||
|
var ureq :URLRequest = new URLRequest(url);
|
||||||
|
if (!newWindow) {
|
||||||
|
try {
|
||||||
|
flash.net.navigateToURL(ureq, "_self");
|
||||||
|
return;
|
||||||
|
} catch (err :SecurityError) {
|
||||||
|
// ignore; fall back to using a blank window, below...
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// open in a blank window
|
||||||
|
try {
|
||||||
|
flash.net.navigateToURL(ureq);
|
||||||
|
} catch (err :SecurityError) {
|
||||||
|
Log.getLog(NetUtil).warning(
|
||||||
|
"Unable to navigate to URL [e=" + err + "].");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user