localhost和托管

时间:2015-06-22 21:37:07

标签: javascript php

我有一个有一些javascript的php页面,并且出于某种原因,'<%...%>'标签在本地和托管方面的行为不同。我页面中相关的代码部分是:

<script>

    var options = {
        segmentShowStroke: false,
        animateRotate: true,
        animateScale: false,
        percentageInnerCutout: 50,
        tooltipTemplate: "<%= value %>%",
        responsive: true,
        multiTooltipTemplate: '<%= datasetLabel %> - <%= value %>',
        labelsFilter: function (value, index) {
            return (index + 1) % 5 !== 0;
        }
    }

在当地,当我使用萤火虫时,我看到了这个(我想看到):

    var options = {
        segmentShowStroke: false,
        animateRotate: true,
        animateScale: false,
        percentageInnerCutout: 50,
        tooltipTemplate: "<%= value %>%",
        responsive: true,
        multiTooltipTemplate: "<%= datasetLabel %> - <%= value %>",


        labelsFilter: function (value, index) {
            return (index + 1) % 5 !== 0;
        }
    }

然而,当我把页面放在我的域名上并使用firebug时,我看到了:

    var options = {
        segmentShowStroke: false,
        animateRotate: true,
        animateScale: false,
        percentageInnerCutout: 50,
        tooltipTemplate: "value%",
        responsive: true,
        multiTooltipTemplate: "datasetLabel - value",


        labelsFilter: function (value, index) {
            return (index + 1) % 5 !== 0;
        }
    }

它看起来像工具提示模板&#39;和&#39; multiTooltipTemplate&#39;正在被托管之前在运行时进行一次评估,这会导致意外结果(硬编码&#39; datasetLabel - 值&#39;而不是类似于&#39; Net Worth - 100,000&#39;

1 个答案:

答案 0 :(得分:2)

标签已经改变了不同的PHP版本。你可能在不同的系统上安装了不同的版本。

使用<?php开场代码,该代码适用于所有版本。

使用php 7删除了以下ASP代码<%%><%=

  

7.0.0 ASP标记&lt;%,%&gt; ,&lt;%=和脚本标记将从PHP中删除。

<?=可用于php 5.4.0

  

5.4.0无论short_open_tag ini设置如何,标签&lt;?=始终可用。

请参阅PHP tags