Solved

Is there a way to automate clearing facebook's cache for a url?

Posted on 2016-10-04
2
106 Views
Last Modified: 2016-10-05
We have a page that changes daily but facebook's cache has the old stuff still displaying.  I can go and manually clear it using their tool but this is impractical ... is there a way to automate this process?
0
Comment
Question by:afacts
2 Comments
 
LVL 29

Accepted Solution

by:
Randy Downs earned 500 total points
ID: 41829851
Try this .

snippet ... can be included on every page of your site via a common Javascript file. Then, to clear a page’s Facebook cache, simply visit that page and add ?facebook_refresh to the end of the URL (or &facebook_refresh

//Check if facebook_refresh query string is present
if(window.location.search.indexOf("facebook_refresh") >= 0)
{
    //Feature check browsers for support
    if(document.addEventListener && window.XMLHttpRequest && document.querySelector)
    {
        //DOM is ready
        document.addEventListener("DOMContentLoaded", function() {
            var httpRequest = new XMLHttpRequest();
            httpRequest.open("POST", "https://graph.facebook.com", true);
            
            httpRequest.onreadystatechange = function () {
                if (httpRequest.readyState == 4) { console.log("httpRequest.responseText", httpRequest.responseText); }
            };
            
            //Default URL to send to Facebook
            var url = window.location;
            
            //og:url element
            var og_url = document.querySelector("meta[property='og:url']");
            
            //Check if og:url element is present on page
            if(og_url != null)
            {
                //Get the content attribute value of og:url
                var og_url_value = og_url.getAttribute("content");
                
                //If og:url content attribute isn't empty
                if(og_url_value != "")
                {
                    url = og_url_value;
                } else {
                    console.warn('<meta property="og:url" content=""> is empty. Falling back to window.location');
                }               
            } else {
                console.warn('<meta property="og:url" content=""> is missing. Falling back to window.location');
            }
            
            //Send AJAX
            httpRequest.send("scrape=true&id=" + encodeURIComponent(url));
            
        });
    } else {
        console.warn("Your browser doesn't support one of the following: document.addEventListener && window.XMLHttpRequest && document.querySelector");
    }
}

Open in new window

0
 

Author Closing Comment

by:afacts
ID: 41830596
Thank you!!!!!!! This worked!!!!!
0

Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Create animated movies for web page 18 84
suddenly angular cli doesn't work. 5 39
Html Newline 7 20
Help with Javascript to round decimal points to 2 13 14
This article discusses how to create an extensible mechanism for linked drop downs.
Does your audience prefer people in photos or no people? How can you best highlight what you’re selling? What are your competitors doing, and what can you do that is different and unique from them?  Continue reading to learn how to make your images …
The viewer will learn how to look for a specific file type in a local or remote server directory using PHP.
This tutorial will teach you the core code needed to finalize the addition of a watermark to your image. The viewer will use a small PHP class to learn and create a watermark.

856 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question