Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var htmlSearcher = ( function ( ) {
- /**************************************
- * Entry point of the "application"
- **************************************/
- var onloadAttachedFunctions = null;
- var startTagMark = "<!--comment_id=tag_";
- var endTagmark = "<!--end_of_html_tag_holder-->";
- if(typeof window.onload == "function") {
- onloadAttachedFunctions = window.onload;
- }
- window.onload = function() {
- if(onloadAttachedFunctions != null) {
- onloadAttachedFunctions();
- }
- var innerHtmlBodyContent = document.body.innerHTML;
- innerHtmlBodyContent = wrapCommentsAroundHtmlTag("img", innerHtmlBodyContent);
- document.body.innerHTML = innerHtmlBodyContent;
- innerHtmlBodyContent = null;
- onloadAttachedFunctions = null;
- }
- var wrapCommentsAroundHtmlTag = function( htmlTagName, htmlString ) {
- var htmlTagRegExp = new RegExp("<\s*" + htmlTagName + "[^>]+>", "gi");
- var tagCounter = 0;
- return htmlString.replace(htmlTagRegExp,
- function(htmlTagAsString) {
- tagCounter++;
- var replacement = startTagMark + tagCounter + "-->" + htmlTagAsString + endTagmark;
- return replacement;
- });
- }
- var findEquivalentHtmlNode = function(htmlString) {
- for(var i = 0 ; i < document.body.childNodes.length ; i++)
- {
- var currentNode = document.body.childNodes[i];
- var currentData = typeof currentNode.data != 'undefined' ? currentNode.data : '';
- if (currentData == htmlString) {
- return currentNode.nextSibling;
- }
- }
- return null;
- }
- return {
- getElementAsString : function ( elementId ) {
- var tagBetweenComments = new RegExp(startTagMark + elementId + "-->((?:(?!" + endTagmark + ")(?:.|\s))+)" + endTagmark, "gi");
- if(tagBetweenComments.test(document.body.innerHTML)) {
- return RegExp.$1;
- }
- return null;
- },
- getElementAsObject : function ( elementId ) {
- var arg = "comment_id=tag_"+elementId;
- return findEquivalentHtmlNode(arg);
- }
- }
- })( );
Advertisement
Add Comment
Please, Sign In to add comment