I'm developing an extension for Chrome, Firefox and Safari and I'm adding a feature that uses a form.submit style post to initiate a search on another web site.
I have the code working in Chrome using the method described in this post:
Chrome Extension Development - POST to new tab
However, it doesn't work in the Safari extension. There are two problems. The first is that the sendMessage to the new tab never gets to the post script. I found a solution to that: in Safari it doesn't treat a script loaded by an extension web page as a content script. So I have to use runtime.sendMessage rather than tabs.sendMessage.
The second problem is where I am stuck. The post script submits the form but there appears to be an error on the server side and I am unable to see what it is.
In the Safari Web Inspector the "Preserve log" doesn't keep the log when this error occurs. The server loads a new page (with blank search fields) and I can't see any info on the request header sent with the post or the response since the Web Inspector logs are cleared.
I suspect it may be a security issue since Safari tends to be more strict. Any ideas on any ways around this?
At my new company I am maintaining a VB.Net webforms application. We are seeing an issue when viewing the site on an iPad that can be fixed by Requesting Desktop Site in either Chrome or Safari.
Is there a way to force this in code so the user does not have to hold the refresh button in Safari and request the desktop site?
UPDATE:
We are using Telerik controls and the functionality changes when its displayed on an iPad vs a browser on a desktop. When I pull up the page on an iPad the textbox filters will not work until I select Request Desktop Site, see below for wrong incorrect version.
Here is what it looks like after that is selected and normally on a desktop browser.
So I need a way to force the browser to request the desktop site/version when viewing on an iPad.
Without some examples its tricky to comment on this, but I think I know how to get the result you want. In the HTML of the page(s):
<meta name="viewport" content="width=device-width, initial-scale=1">
Source here.
This should fix the issue you're seeing in all browsers, if it is what I think it is.
Edit: Question has been significantly updated, this is definitely not the right answer.
I've been running into rendering issues with IE11 lately where html pages are not getting rendered as expected even though they show up fine in Chrome, Firefox, and Safari. I'm still digging into this but it seems like it could be due to Internet Explorer being put into Enterprise Mode for "internal" web sites, (where "internal" means any web site matching the domain name of the organization--for example, *.somedomain.com). Has anyone else come across this?
Enterprise Mode defaults to sending an IE8 user agent instead of an IE11 user agent and the meta tag that developers are encouraged to place in their html (<meta http-equiv="X-UA-Compatible" content="IE=edge">) is designed to tell the browser to use the best rendering mode of the browser. If IE11 sends an IE8 user agent because Enterprise Mode is enabled, does it then get rendered as IE8 even though the HTML could be standards compliant and rendered with IE11's standards compliant engine?
I'm programming a web site in asp.net using vb, and I need to upgrade it so all of the functions will be active for google chrome and firefox as well.
For instance I'm using System.Net.Mail for sending mails.
Sending mails when using the website with internet explorer works perfectly fine, but in chrome and firefox the mails are not sent (the to list remains empty).
I would love to get some help about this,
Thank you.
Sending emails serverside has nothing to do with browsers.
There might be some reason why the button (?) that should submit the form isnt working in other browsers than IE.
You might need to check if you have some invalid javascript, or such on the button.
/M
My implementation of Facebook Connect (just a simple login button, fb:login-button) works perfectly on Firefox and IE.
But the same button is not showing up in Safari/Chrome (Webkit).
Here's what's ironic. In my debugging effort, I saved the page (that contains fb:login-button) up as a static page and then load it in Safari. And the button shows up, everything works!
The exact same page (with the exact same HTML source) rendered by my PHP has no way for bringing up the button.
I'm trying hard to support Webkit here but I'm close to giving up. Can anybody help?
I found one more way this can occur (the blame-myself-for-being-stupid way); it's probably not common, but in the event is saves anyone else the hassle, here it is:
This symptom can also be caused by various security tools blocking facebook resources.
In my case, I'd installed Facebook Disconnect ages ago in Chrome as a plugin and forgotten all about it being installed. I also had a second installation of Chrome that was seemingly identical (but did not have Facebook Disconnect). The first would properly load the fb:login-button, and the other would not; took me ages before I looked at the plugins, because Facebook Disconnect didn't have an icon and so its presence was pretty easy for me to miss.
Here's what you'll see if some sort of security plugin is preventing facebook resources from loading. Just look at the html that renders in the browser using developer tools.
In a normal chrome session you'll end up with something like this:
<fb:login-button><a class="fb_button fb_button_medium"><span class="fb_button_text">Your text here</span></a></fb:login-button>
But in the version with facebook's resources disabled you'll end up with this:
<fb:login-button>Your text here</fb:login-button>
Like I said, pretty obvious in retrospect.
Had the same problem but it was not related to anything like a plugin or malformed content. It seems if you enable country filtering on your facebook page it has an issue with the like button, this should be fairly obvious. Facebook gets your location from your profile and not your IP address.
Make sure to disable country locking if you plan on using the social plugins.
This can be due to having ClickToFlash installed. Either disable it, or check "Automatically load invisible Flash views" in the ClickToFlash settings.
What we found out is that Safari (and maybe some older versions of Chrome or other WebKIT browsers) have a problem with Facebook's code using the innerHTML JS function if your page arrives with an XHTML response header (application/xhtml+xml).
Using text/html solves the issue.
In case of JSF2, which we use, the implementing the fix was as simple as wrapping the FB button like this:
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:fb="http://www.facebook.com/2008/fbml"
xmlns:f="http://java.sun.com/jsf/core">
...
<f:view contentType="text/html">
<fb:login-button>Login using Facebook</fb:login-button>
</f:view>
Facebook bug report here:
http://bugs.developers.facebook.net/show_bug.cgi?id=5545
I had this problem with the Facebook button not showing at all and it took me forever to figure out what it was. Luckily after days of hair pulling I will now share the answer with everyone. In my situation I simply didn't have xfbml enabled. In my FB.init I had it set to false:
FB.init({
appId : 'app_id', // App ID
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : false, // parse XFBML
oauth : true // enable OAuth 2.0
});
I changed this to "true" (xfbml) and the login buttons works great now! :P Good luck!
This happened when I had the wrong domain in callback_url in config/facebooker.yml. Apparently it uses that to load the js files.
I had the same problem but I resolved it by making sure the URL in my app settings was exactly the same as the one for my site (i.e. it didn't work when I accessed my site without the www.).
I have tried every suggested solution here and it didn't work for me. But now I finally found the solution.
Facebook requires now a secured (https) for Canvas (Secure Canvas URL). The unsecured one will be deprecated soon.
Here is the main difference, Chrome doesn't like https connections with invalid certifications. On a localhost, it is very likely you have stunnel installed to allow https connection for the localhost. Firefox is ok with the self created SSL certificate and allows you to add an exception when trying to access that site. Chrome doesn't allow it out of the box.
When I load my app in Chrome the page is blank and I dont see any login button.
Click F12 and click the Netwrok tab in Chrome:
You see that the post request to your localhost is cancelled. DOUBLE Click on it.
Now you would see that chrome is blocking the localhost because of the certificate:
click on proceed anyway.
Now to back to your other tab and reload the page:
Chrome works now like Firefox and shows the login button.