'Lift' sites show a brief blank page in Chrome - scala

Any site I see generated with the Lift framework displays strange behaviour in the Chrome browser - on page load, the browser tab is blanked for around 1/3 of a second before the page is displayed. It's very disconcerting. This behaviour does not appear on Firefox or IE, just Chrome. In IE and Chrome, there is a slight delay after requesting a page during which the old page remains visible, which is the expected behaviour.
The behaviour is visible in Chrome even in the Lift homepage:
http://liftweb.net/
Does anyone know why this happens?

It seems to be blank until style.css is loaded, from what I gather from the developer tools in Chrome itself. In the audit, it says style.css should be moved to head, but it is already there. I wonder if the <content> tags that enclose everything are causing problems?

Related

Link to an insecure page from secure canvas page no longer working in Chrome

It looks like a recent Chrome update broke this by tightening mixed content (https/http) security policies, and I read that Firefox plans to do this too.
Here's the issue:
Say I set the Secure Canvas URL of my app to https://themediadudes.com/httpstest/
That page contains only a link to Google:
Google
When I view the app on Facebook and click the link, nothing happens. An error appears in the console:
[blocked] The page at https://apps.facebook.com/myappname/ ran insecure
content from http://www.google.com/.
I understand that having insecure scripts/stylesheets etc. on an https page isn't allowed, but a simple link to a different website shouldn't be blocked right?. I assume Facebook is running some scripts which do something with the page before sending the user there? Which causes the error.
If I set the target of the link to _top or _blank it works.
Ideally I want to be able to use a javascript window.location to send the user to this insecure URL, or header('Location: blah'); in PHP. But neither of those work either. And it looks like this is a bigger problem than that if even a simple link to an insecure URL doesn't work.
I thought it may be caused by whatever makes the 'fluid' canvas width and canvas height settings work. But I tried setting both width and height to fixed and the problem still happens.
Does anybody have a solution or workaround, or can anybody at least shed some more light on this?
Thanks
I've been struggling with a similar issue and the answer seems to be that it is not possible at all to reference any non-https resources from within your page tab app. Of course if a google link is all you require then that is simply resolved (as google has a https version of course) but referencing external non-https sites will always turn up this warning/block in chrome
Additionally, I should add that I have noticed that the 'page tab URL' section requires a url to a particular page, whereas the 'canvas URL' needs to link to a directory. This does not seem to be documented and will also give the insecure content message in chrome and prevent the page tab app from loading

Adsense not showing up, but shown ater page refresh (Chrome & Safari)

I have three adsense ads on my page. (It is a Chinese website).
Adsense ads are shown OK if you first view this page. But if you click on the next page link (on the pagination bar), ads do not show up at all. But if you refresh the webpage, they appear normally.
The strange thing is it only happens with Chrome and Safari. No problem with IE & Firefox.
I have searched the internet for a while, but cannot find a solution. The problem has cost me hundreds of dollars per month. Initially I thought the problem was caused by the "Kickstart css framework" I use, but I'm not sure. I have inspected this issue in the Chrome console. The adsense ads give me 400 error.
Failed to load resource: the server responded with a status of 400 (Bad Request)
It is fixed now. The cause is that kickstart framework wraps each div after loading. So that adsense refuse to load request.

Facebook Apps: App is set as 810px wide in app options, but on the page itself it's still 520px

I'm having a wierd bug with Facebook right now.
Having installed Timeline on my FanPage, I went ahead and tried to make my apps in the new 810px-wide format.
Thing is, after I saved that and went to my App to see the results, the app space is still 520px, taking barely half the space available.
I then took the Web Developper tools to find what exactly was blocking me at 520px; I found a div with the class profile-platform-pane and this has the css attributes width:520px and overflow:hidden. Switching it to 810px from the web master tools works. Thing is, this doesn't switch the attribute forever. Just refresh the page and its gone.
Now, what am I doing wrong to make Facebook not give me 810px wide of space?
i'm having the same issue, but i think the root of my problem is with the app's use of FBML.
if you go to the advanced settings in developers.facebook there's an option for Page Tab iframe -- make sure that's enabled.

Facebook API not work in Opera

The Facebook API doesn't work in Opera:
FB.Canvas.setSize - not change a canvas size.
FB.Canvas.getPageInfo - does not call callback function.
To reproduce:
Open http://apps.facebook.com/operafbbug/ in Opera and, to compare, in Chrome (or Firefox, IE)
Expected Behavior:
The Canvas height will changed to 1100, excepting Opera
When the FB.Canvas.getPageInfo function is called and returns data, this page will show alert 'info'. You will see this alert in all browsers, excepting Opera, again.
Bug in facebook bug tracker:
http://developers.facebook.com/bugs/188820761219553
Quoting myself from the FB bug tracker: Opera fires an asynchronous load event for about:blank which results in the canvas_proxy IFRAME being prematurely removed. Opera starts running into this because of hiding document.attachEvent to avoid another, related problem caused by the IE branch of the script ( https://github.com/operasoftware/browserjs/issues/1 ).
As for workarounds, doing
document.attachEvent=function(){}
before embedding the Facebook script should work as a workaround, but is very ugly and probably won't keep working in the future. This needs to be fixed by Facebook (by ignoring the problematic load event and not remove the IFRAME until it knows the real target content loaded) or by Opera (by figuring out what race condition or timing gotcha makes Opera fire an unexpected load event even though the IFRAME is being navigated to some other URL).
Opera should probably add a temporary workaround to browser.js too. You should probably ignore this issue altogether and hold off testing with Opera until Opera and/or Facebook sorts it out.

Facebook Custom IFrame Tabs and Internet Explorer 8 Issue

I have created my first IFrame App in facebook (custom tab), and all the IFrame is directing to is a simple PHP page, with HTML tags stating Hello World...
However, this is showing up in Firefox and Chrome, but not in Internet Explorer - and I cannot figure out why; even tried googling it to no avail.
Please help me! I cannot move forward without solving this issue!!
did you already fixed this? I figured out that the Internet Explorer has a differend handling for parameters. I faced the same issue: my cutom tab (iframe) was working perfectly on Firefox, Opera, Chrome, but never shown IN IE7+8.
Later I realized that I added a questionmark to the URL, but w/o any parameter, like this:
http://www.mydomain.com/mypage.html?
Solution: If you just only want to embedd an html page, you don't need to do this any longer. Just create your Facebook app, go to "Facebook Integration", scroll down to "Page Tabs", add a "Tab Name" and the "Tab URL". Don't add a "?" to the Tab URL.
Once I removed the "?" the custom iframe tab is shown in Internet Explorer 7 and 8.