在外部JS文件中传递PHP变量

Pet*_*tra 6 javascript php variables iframe

我在这里阅读了很多线程,但我仍然无法获得从PHP传递到外部JS文件的变量,并想知道是否有人可以提供帮助?

在我的PHP文件中,我有以下内容;

<script type="text/javascript">
var pass_this_variable = <?php $company['website']; ?>;
</script>

<script type="text/javascript" src="/js/track.js"></script>
Run Code Online (Sandbox Code Playgroud)

在JS文件中,我有以下内容;

document.write('<IFRAME SRC="$company['website']" WIDTH="300" HEIGHT="400"></IFRAME>');
Run Code Online (Sandbox Code Playgroud)

我想要实现的是IFRAME打开并填充$ company ['website']中包含的内容.我知道我可以直接在PHP文件中使用IFRAME,但这不是我的功课我的任务.当我在PHP文件中直接使用IFRAME时,它可以正常工作,如果我在JS文件中指定静态URL,例如http://www.google.com,这也可以正常工作.

有人可以帮忙吗?谢谢


编辑:

谢谢你到目前为止的答案,但我仍然无法让它工作:(

我在track.php(或track.js)中的框架不会加载指定的网址$company['website'],但如果我将其更改为http://www.google.com,则其工作正常.由于某种原因,$company['website']价值未被传递:(

Ibu*_*Ibu 9

如果你想让你的外部JavaScript变得动态,你可以把它变成一个php文件并给出正确的标题,例如:

<script type="text/javascript" src="/js/track.php"></script>
Run Code Online (Sandbox Code Playgroud)

track.php

<?php
// javascript generator
Header("content-type: application/x-javascript");
?>
document.write('<IFRAME SRC="<?php echo $company['website'] ?>" WIDTH="300" HEIGHT="400"></IFRAME>');
Run Code Online (Sandbox Code Playgroud)


And*_*ist 6

PHP文件(不要忘记回声和引用):

<script type="text/javascript">
var pass_this_variable = '<?php echo $company['website']; ?>';
</script>

<script type="text/javascript" src="/js/track.js"></script>
Run Code Online (Sandbox Code Playgroud)

JS文件(改为使用pass_this_variable):

document.write('<IFRAME SRC="'+pass_this_variable+'" WIDTH="300" HEIGHT="400"></IFRAME>');
Run Code Online (Sandbox Code Playgroud)


小智 2

你应该修复这一行: var pass_this_variable = <?php echo $company['website']; ?>;

添加echo并且应该可以工作