如何使这个脚本动态化

时间:2012-04-24 18:03:01

标签: javascript

我正在使用此脚本

<script type="text/javascript">
  var defaultnoimage="http://1.bp.blogspot.com/_u4gySN2ZgqE/SosvnavWq0I/AAAAAAAAArk/yL95WlyTqr0/s400/noimage.png";
  var maxresults=14;
  var splittercolor="none";
  var relatedpoststitle="Related Results";
</script>

正如您所看到的,它有一个变量,可以让我给结果命名,在这种情况下,我使用了相关结果。此代码在后面使用一次,并以我每个页面使用的方式使用。因此,如果我将其更改为更多结果,它将在所有页面上的任何位置更改。我不希望它像这样,我希望能够为每个页面赋予不同的名称,就像在“更多图像结果”一样,而在第二个它是另一个。 你可以在这个页面http://bloghutsbeta.blogspot.com/2012/04/testing-slider.html

看到一个演示

1 个答案:

答案 0 :(得分:0)

猜测你在问什么,因为我发现你的措辞有点令人困惑......

当我需要将服务器lang / env中的代码注入我的客户端代码时,我喜欢在JS中使用Immediately Invoked Function Expression (IIFE),我的服务器lang在输入参数区域中执行输出。

所以,在PHP中(因为我不知道你的服务器是什么)我会这样做:

<?php
$relatedpoststitle = 'Related Results'; //or whatever you need it to be for the current execution
?>

<script type="text/javascript">
  (function (global, relatedpoststitle) {
    global.defaultnoimage = 'http://1.bp.blogspot.com/_u4gySN2ZgqE/SosvnavWq0I/AAAAAAAAArk/yL95WlyTqr0/s400/noimage.png';
    global.maxresults = 14;
    global.splittercolor = 'none';
    global.relatedpoststitle = relatedpoststitle;
  }(
    window,
    "<?php echo $relatedpoststitle; ?>"
  ));
</script>

这让我可以将所有服务器代码整合到一个小空间中,而不是从不同的langs / envs中混合代码/逻辑。