是否可以将JavaScript函数放在php文件中?

时间:2014-02-04 20:05:26

标签: javascript php jquery html

非程序员在这里试图解决问题。

我的文档标题中有一个javascript函数,在页面加载时它会在iframe中打开另一个页面,并在我的服务器上显示一个svg文件,用于进行次要的在线编辑。我想将我的javascript函数放在一个php文件中,这样就无法确定svg文件的这些文件夹位置,任何人都可以自由下载这些svg文件。

目前我的html标题上有这个:

<script type="text/javascript">
            function loaded()
            {
            document.getElementById("myiframe").src="http://www.mydomain.com/myfolder/mypage.html?url=myotherfolder/"+window.location.search.substr(1);
            }
            onload=loaded;
        </script>

由于我听说php是服务器端脚本而且无法查看,我认为这会掩盖我服务器上这些文件的位置。

我想从我的标题中删除此javascript代码并将其放在php文件中,并将标题代码替换为以下任一项:

<script src="phpjavafile.php"></script>

    <?php include ('phpjavafile.php'; ?>

最后把javascript放到这样的php文件中:

<?php
    <script type="text/javascript">
                function loaded()
                {
                document.getElementById("myiframe").src="http://www.mydomain.com/myfolder/mypage.html?url=myotherfolder/"+window.location.search.substr(1);
                }
                onload=loaded;
            </script>
?>

我已尝试过这两种方法,但都没有正确加载。

我一定是做错了。我是在正确的轨道上,还是有更好的方法让它发挥作用。

提前谢谢你。

2 个答案:

答案 0 :(得分:1)

使用echo()函数

<强> PHP

<?php
echo '<script>
some javascript
</script';
?>

但是,如果你只是在没有任何php args的情况下尝试在页面加载时加载php,那么只需将其写出标签即可。

如果你有JavaScript是另一个文件,那么使用

<强> PHP

<?php
include 'path/to/javascript/file.php';
?>

应该工作。

你无法隐藏javascript,因为它被解释为浏览器端而不是服务器端,因此用户浏览器必须访问代码。

以下是我认为您要求的代码:

PHP HTML

<?php
    $html = file_get_contents("path/to/data.html");
?>
<div>
    <?php echo $html; ?>
</div>

不使用iframe,但仍然可以使用。但是,除非两个文件都在同一个目录中,否则任何相对链接都不会起作用,并且没有额外的css就没有iframe功能

答案 1 :(得分:0)

您可以在PHP文件中将其作为文本输出。

<?php 
  // Some PHP stuff here
?>

<script type="text/javascript">
  function loaded(){
    ....
  }
  onload=loaded;
</script>

<?php 
  // Some more PHP stuff here
?>

或者,你可以在同一个文件中以通常的方式链接到它:

<script src="path/to/your/file.js"></script>