JSFiddle - React, Tailwind, and code Playground

by gwwar

JavaScript

javascript:(function($){
    $(function(){
        var lastLink = null;
        $("body").on("mouseover", "td.main-link a", function(event){
            var $link = $(this), $category, iframe, offset, linkVal = $link.attr("href");

            $category = $link.closest("tr").find("td.category");
            if($category.find("a").attr("href") === "/c/boing" && (lastLink !== linkVal || $("iframe.hover-bb-preview").length===0)) {
                $("iframe.hover-bb-preview").remove();
                offset = $category.offset();
                iframe = $("<iframe/>", {src: $link.attr("href"), "class":"hover-bb-preview", frameBorder:0, width:"500px", height:"300px"});
                iframe.css({
                    border: "1px solid #CCC",
                    position: "absolute",
                    left: offset.left,
                    top: offset.top,
                    background: "#FFF"
                });
                iframe.load(function(){
                    var contents = iframe.contents();
                    var articleLink = contents.find("#post_1 .cooked a");
                    if(articleLink.length > 0) {
                        var href = articleLink.attr("href");
                        href = href.replace(/^(http:|https:)/, '');
                    	contents.get(0).location.href = href;
                    }
                });
                $("body").append(iframe);
                lastLink = linkVal;
            }
        }).on("click", function(){
            $("iframe.hover-bb-preview").remove();
        });
    });
}(jQuery));