كيفية تحديد ما إذا كان تطبيق GWT الخاص بي يعمل داخل إطار/iframe أم لا؟
سؤال
أنا أعمل على تطبيق GWT ، والذي يجب أن يتصرف بطريقة مختلفة قليلاً عندما يتم تشغيله داخل إطار وعند التشغيل مباشرة في نافذة المتصفح. والسؤال هو: كيف نحدد في وقت التشغيل سواء كنا في إطار أم في نافذة؟
المحلول
لف قليلاً من JavaScript JSNI:
public static native boolean isFrame() /*-{
return ($wnd!=$wnd.top);
}-*/;
نصائح أخرى
لم أختبر هذا ولكن بالنظر إلى Javadoc ، يمكنك تجربة شيء مثل:
RootPanel.getBodyElement().getParentElement().getTagName()
ومعرفة ما إذا كان iframe أو أي علامة تحتاجها
لا تنتمي إلى StackOverflow