如何在javascript中将硬编码路径更改为动态路径?

时间:2010-09-14 12:17:38

标签: javascript url

我正在使用带有主题的jpicker颜色选择器小部件。在js文件中我必须硬编码对jpicker的images文件夹的引用,如此...

images:{clientPath: '../wp-content/themes/MyThemeFolder/js/jPicker/images/',

如果用户更改主题文件夹的名称,我想通过更加动态重做此内容。

有什么想法吗?网址解析?

更新:这是解决问题所必须做的......

在functions.php内部和js脚本之前,我放置了这个......

<script type="text/javascript">
<?php echo 'var myThemePath="../wp-content/themes/'.get_option("template").'/js/jPicker/images/"';?>
</script>

然后,在.js文件中,我在硬编码的目录路径上进行了替换,以便...

images:{clientPath: '../wp-content/themes/MyThemeFolder/js/jPicker/images/',

成为这个...

images:{clientPath: myThemePath,

1 个答案:

答案 0 :(得分:1)

我喜欢做的是在包含外部脚本之前将web根URL(或媒体/资源文件夹URL或其他)保存在全局JS变量中:

 <script type="text/javascript">
 my_project_web_root = "http://example.com";
 </script>

并在所有后续脚本中使用它:

 images:{clientPath: my_project_web_root+'/wp-content/themes/MyThemeFolder/...'