001 /**
002 * Copyright 2010 The Kuali Foundation Licensed under the
003 * Educational Community License, Version 2.0 (the "License"); you may
004 * not use this file except in compliance with the License. You may
005 * obtain a copy of the License at
006 *
007 * http://www.osedu.org/licenses/ECL-2.0
008 *
009 * Unless required by applicable law or agreed to in writing,
010 * software distributed under the License is distributed on an "AS IS"
011 * BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
012 * or implied. See the License for the specific language governing
013 * permissions and limitations under the License.
014 */
015
016 package org.kuali.student.common.ui.client.util;
017
018 /**
019 * This provides a library of JSNI methods.
020 *
021 */
022 public class BrowserUtils {
023 public static native String getOperatingSystem() /*-{
024 if (navigator.appVersion.indexOf("Win")!=-1) return "Windows";
025 if (navigator.appVersion.indexOf("Mac")!=-1) return OSName="MacOS";
026 if (navigator.appVersion.indexOf("X11")!=-1) return OSName="UNIX";
027 if (navigator.appVersion.indexOf("Linux")!=-1) return OSName="Linux";
028 return "Unknown: " + navigator.appVersion;
029 }-*/;
030
031 public static native String getString(String name) /*-{
032 return eval("$wnd."+name);
033 }-*/;
034
035 public static native String getUserAgent() /*-{
036 return navigator.userAgent.toLowerCase();
037 }-*/;
038
039 /**
040 * Redirect browser window to a different url
041 * @param url
042 */
043 public static native void redirect(String url)/*-{
044 $wnd.location = url;
045 }-*/;
046
047 /**
048 * Reload the current browser page.
049 */
050 public static native void reload()/*-{
051 $wnd.location.reload();
052 }-*/;
053
054 public static native String getClassAttr()/*-{
055 if(navigator.appName == "Microsoft Internet Explorer"){
056 return "className";
057 } else {
058 return "class";
059 }
060 }-*/;
061
062 }