代码之家  ›  专栏  ›  技术社区  ›  glenn nall

识别javascript,然后执行“include”

  •  -1
  • glenn nall  · 技术社区  · 8 年前

    我需要将PHP包含在javascript文件中,但我甚至不知道它是JQuery还是AJAX,还是普通的旧javascript。(我已经找到了JQUery和AJAX的“加载”函数,但它们在这个脚本、操作符错误或其他什么东西中都不起作用…)

    无论如何,我希望有人能认出这里的javascript,然后告诉我如何在下面的第三个代码块中加载一个外部PHP,好吗?

    var simplemaps_usmap_mapdata = {
    
    main_settings:{
        //General settings
        width: 'responsive', //or 'responsive'
        background_color: '#FFFFFF',    
        background_transparent: 'no',
        border_color: '#ffffff',
        popups: 'detect', //on_click, on_hover, or detect
    
        //State defaults
        state_description:   'State description',
        state_color: '#88A4BC',
        state_hover_color: '#3B729F',
        state_url: '#',
        border_size: 1.5,       
        all_states_inactive: 'no',
        all_states_zoomable: 'no' 
        etc...
    

    和(缩小):

    (function(m){var F=function(a){var a=a.split("."),c=m,b;for(b=0;b<a.length;b++)c[a[b]]=c=c[a[b]]||{};return c},n=F("com.greensock"),o,k,d,z,G,v={},C=function(a,c,b,j){this.sc=v[a]?v[a].sc:[];v[a]=this;this.gsClass=null;this.def=b;var e=c||[],d=[];this.check=function(c){for(var f=e.length,g=0,l;-1<--f;)(l=v[e[f]]||new C(e[f])).gsClass?d[f]=l.gsClass:(g++,c&&l.sc.push(this));if(0===g&&b){var c=("com.greensock."+a).split("."),f=c.pop(),k=F(c.join("."))[f]=this.gsClass=b.apply(b,d);j&&((m.GreenSockGlobals|| m)[f]=k,"function"===typeof define&&define.amd?define((m.GreenSockAMDPath?m.GreenSockAMDPath+"/":"")+a.split(".").join("/"),[],function(){return k}):"undefined"!==typeof module&&module.exports&&(module.exports=k));for(f=0;f<this.sc.length;f++)this.sc[f].check(!1)}};
    ETC...
    

    我想加载一个外部文件的地方应该在这个TOOLTIP“描述”中,我已经放置了一个iframe-(如果我加载了50个这样的文件,那么做include和iframe的代码效率不是更高吗?):

    state_specific:{
        "GA": {
            name: 'Georgia',
            description: '<iframe src="../html5USmap/ga.php" style="width:200px; height:45px;" frameborder="0" scrolling="no" align="center" seamless></iframe>',
            color: 'default',
            hover_color: 'default',
            url: 'default'          
            },  
    

    我非常感谢任何人的帮助。我喜欢堆栈溢出-当我在谷歌上搜索帮助时,我总是在这里结束…:)

    谢谢 格伦

    1 回复  |  直到 8 年前
        1
  •  1
  •   CoderCreative    8 年前

    所以你想要 state_specific.GA.description 是PHP脚本在 ../html5USmap/ga.php ?

    在PHP页面或模板中,您需要这样的内容:

    <div id="map_description" style="display:none;">
        <?php include '../html5USmap/ga.php'; ?>
    </div>
    <script type="text/javascript">
        window.mapDescriptionHtml = document.getElementById("map_description").innerHTML;
    </script>
    

    然后,更改您的 state_specific javascript块转换为如下内容:

    "GA": {
        name: 'Georgia',
        description: window.mapDescriptionHtml,
        color: 'default',
        hover_color: 'default',
        url: 'default'          
    },
    

    您可能需要重构这个脚本,以将脚本从标记中取出,并确保一切按正确的顺序运行,等等。