IE / Facebook问题:为什么Facebook Like Box不能在Internet Explorer 6 - IE8中显示?

时间:2010-06-03 14:03:10

标签: java internet-explorer facebook internet-explorer-8

IE / Facebook问题: 为什么Facebook Like Box不能在Internet Explorer6 - IE8中显示?

Facebook就像在IE-IE8上的每个浏览器上显示我的Web应用程序

现在最终的Application.html文件包含

< !DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/DTD/strict.dtd"><BR>
< html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml">
<BR>< head>
< meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
< /head><BR>
< body>

< script type="text/javascript" language="javascript"     src="http://static.ak.connect.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php"> < /script> <BR>
< script type="text/javascript">  FB_RequireFeatures(["Connect"], function(){  var x=1; } );          < /script> <BR>
< script src="http://static.ak.connect.facebook.com/connect.php/en_US" type="text/javascript"> < /script>

< /body>
< /html>



My Java code for LIke Box is as follows FBPageFanWidget.java

class FBPageFanWidget extends Composite {

public FBPageFanWidget() {
   VerticalPanel mainPanel = new VerticalPanel();
        mainPanel
                .getElement()
                .setInnerHTML(
                        "< script type='text/javascript' src='http://static.ak.connect.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php/en_US'>< /script>< script type='text/javascript'>FB.init('');< /script>< fb:fan profile_id=\"113106068709539\" stream=\"0\" connections=\"10\" logobar=\"0\" width=\"244\" height=\"240\" css='http://127.0.01:8080/webapplicationname/facebook.css?1'>< /fb:fan>");

        initWidget(mainPanel);
    }
}



We used proper facebook API_KEY & PAGE_ID

It's very important for us to Show Facebook like Box in Our web application  Because we have more IE users.

If we add FBPageFanWidget.java in our web applicaton then Our Home page is not display in IE because we add Facebook LikeBox

so we made changes in Our FBPageFanWidget.java



class FBPageFanWidget extends Composite {

public FBPageFanWidget() { 

VerticalPanel mainPanel = new VerticalPanel();

   if (!isIE())

  {

        mainPanel.getElement()

                .setInnerHTML("<script type='text/javascript' src='http://static.ak.connect.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php/en_US'></script><script type='text/javascript'>FB.init('');</script><fb:fan  profile_id=\"113106068709539\" stream=\"0\" connections=\"10\" logobar=\"0\" width=\"244\" height=\"240\" css='http://127.0.01:8080/webapplicationname/facebook.css?1'></fb:fan>");
   }
        initWidget(mainPanel);
 }

 public native String getUserAgent() /*-{
        return navigator.userAgent;
    }-*/;

    private boolean isIE() {
        return (getUserAgent().indexOf("MSIE") > -1);
    }
}

当我们做这个改变然后Facebook Like Box显示在除IE6之外的每个浏览器 - IE8 :(

并在IE8中显示我们的主页,排除Facebook Like Box。

这意味着IE中有问题吗?或者我需要在我的html文件或java文件中进行哪些更改,以便在显示我们的主页时正确地显示Facebook这样的Facebook

在我们的网络应用程序中显示类似Box的Facebook非常重要因为我们有更多的IE用户。

请尽快回复。

希望与您最好的合作!!!!

2 个答案:

答案 0 :(得分:1)

最后我们得到了回答

我们使用Javas HTML class&amp; amp;而不是mainPanel.getElement()。setInnerHTML(“我们以前的脚本”)。它有效:)

  

HTML html = new HTML(                   “&lt; script type ='text / javascript'   SRC = 'http://static.ak.connect.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php/en_US' &GT;&LT;   /脚本&GT;&LT;脚本   类型= '文本/ JavaScript的' &GT; FB.init( '2ec94ee223c5d36386ab1bfb34bc1b64');&LT;   /脚本&GT;&LT; FB:风扇   PROFILE_ID = \ “113106068709539 \”   stream = \“0 \”connections = \“10 \”   logobar = \“0 \”width = \“244 \”   高度= \ “240 \”   CSS = 'http://127.0.01:8080/webapplicationname/facebook.css?1' &gt;“中);

     

mainPanel.add(HTML);

它有效!!!! :)

现在Facebook喜欢在Internet Explorer6中显示框 - IE8 :)

真的有用!!!! :)

答案 1 :(得分:0)

检查您的JavaScript日志。它们可能会显示一个错误,导致Like Box无法正确加载。否则,您的问题可能在CSS中,IE v6-8可能无法正常处理。