Changeset 1347 for trunk/plugins


Ignore:
Timestamp:
02/03/18 14:01:29 (19 months ago)
Author:
gogo
Message:

#1391 - Improve PreserveScripts?

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/plugins/PreserveScripts/PreserveScripts.js

    r1168 r1347  
    3232        this.storage = {}; //empty the cache 
    3333        var i = 1; 
     34        var index=0; 
    3435        html = html.replace(/\n?<\?(php)?(\s|[^\s])*?\?>\n?/ig, 
    3536                function(m) 
     
    3738                        if ( c.preservePHP ) // if config set to false wipe out php completely, otherwise ugly fragments may remain 
    3839                        { 
    39                                 s.storage['PreserveScripts_'+i] = m; 
    40                                 var r = '<img title="PHP" id="PreserveScripts_'+i+'" src="'+Xinha.getPluginDir("PreserveScripts")+'/php.png" />'; 
     40                                index = html.indexOf(m,index); 
     41                                 
     42                                index+=m.length 
     43                                 
     44                                var after = html.substring( index, html.length ); 
     45                                 
     46                                //strip out php 
     47                                s.storage['preservescripts_'+i] = m; 
     48                                after=after.replace(/\n?<\?(php)?(\s|[^\s])*?\?>\n?/ig,''); 
     49                                 
     50                                if ( after.match(/^[^<]*>/) ) // make sure cursor is in an editable area (outside tags, script blocks, entities, and inside the body) 
     51                                { 
     52                                        var r = '[preservescripts_'+i+']=preservescripts'; 
     53                                }else{ 
     54                                        var r = '<img title="PHP" id="preservescripts_'+i+'" src="'+Xinha.getPluginDir("PreserveScripts")+'/php.png" />'; 
     55                                } 
    4156                                i++; 
    4257                                return r; 
     
    5267                        function(m) 
    5368                        { 
    54                                 s.storage['PreserveScripts_'+i] = m; 
    55                                 var r = '<img title="JavaScript" id="PreserveScripts_'+i+'" src="' + Xinha.getPluginDir("PreserveScripts") + '/js.png" />'; 
     69                                s.storage['preservescripts_'+i] = m; 
     70                                var r = '<img title="JavaScript" id="preservescripts_'+i+'" src="' + Xinha.getPluginDir("PreserveScripts") + '/js.png" />'; 
    5671                                i++; 
    5772                                return r; 
     
    6479{ 
    6580        var s = this; 
    66         html = html.replace(/<img[^>]*id="(PreserveScripts_\d+)"[^>]*>/g,function(m0,m1){return s.storage[m1];}); 
     81        html = html.replace(/\[(preservescripts_\d+)\](="preservescripts"|=preservescripts)?/g,function(m0,m1){return s.storage[m1];}); 
     82        html = html.replace(/<img[^>]*id="(preservescripts_\d+)"[^>]*>/g,function(m0,m1){return s.storage[m1];}); 
    6783        return html; 
    6884} 
Note: See TracChangeset for help on using the changeset viewer.