I have the following Facebook iframe as part of the template:
<iframe allowTransparency='true' expr:src='"http://www.facebook.com/plugins/like.php?href=" + data:post.url + "&layout=standard&show_faces=false&width=100&action=like&font=arial&colorscheme=light"' frameborder='0' scrolling='no' style='border:none; overflow:hidden; width:576px; height:24px;'/>
The main feature is that it uses the Blogspot variable data:post.url
as the link that the user can "Like". Unfortunately recently blogspot decided to redirect people to their local blospot addresses, so if you open example.blogspot.com
in the UK, you will be redirected to example.blogspot.co.uk
, and you can't see any likes of people from outside of the island.
The obvious fix is to make everyone like the main .com page, so I created a script to generate this iframe dynamically:
<script type="text/javascript">
document.write("<iframe allowTransparency='true' frameborder='0' scrolling='no' src='http://www.facebook.com/plugins/like.php?href=");
var thisUrl = "data:post.url";
var beginning = thisUrl.indexOf("blogspot")+9;
var end = thisUrl.indexOf("/", 15);
document.write(thisUrl.substring(0, beginning));
document.write("com");//change regional url to com
document.write(thisUrl.substring(end));
document.write("&layout=standard&show_faces=false&width=100&action=like&font=arial&colorscheme=light' style='border:none; overflow:hidden; width:576px; height:24px;'></iframe>");
</script>
To make Blogspot accept it I had to html-ecape bits of it, but I can't get the variable data:post.url
substituted to a correct value - it stays literally what it is.