将JavaScript代码移动到外部文件

时间:2017-03-22 13:03:22

标签: javascript angularjs

我直接在我的html文件中编写了我的脚本并且工作正常。我想将我的脚本移动到外部文件,当然我知道如何将它移动到外部文件,例如js / myscript.js然后将其添加到我的html中,但我也使用php 并且存在一个问题,因为它在外部文件中时无效。

我在我的JS中使用php,如:

user_name = "<?php echo $_SESSION['name'] ?>";
      $scope.username = user_name;

这就是我开始会话的地方

<?php session_start();
if(!isset($_SESSION[ 'username'])) {
  header( "Location: login/login.php");
} 
 ?>
<!DOCTYPE html>

如何在外部文件中使用它?有可能吗?

3 个答案:

答案 0 :(得分:0)

可以在主{html}页面中使用JS变量user_name,这个变量可以在外部JS中使用

<?php session_start();
if(!isset($_SESSION[ 'username'])) {
  header( "Location: login/login.php");
} 
 ?>
<!DOCTYPE html>
<head>
<script>
var user_name = "<?php echo $_SESSION['name'] ?>";
</script>
<script src="js/yourexternal.js"></script> 
</head>
在yourexternal.js

$scope.username = user_name;

答案 1 :(得分:0)

是的,这是可能的。我在php上使用MVC框架。

我有一个名为view_fncs.php的文件,其中包含标题,导航和页脚的功能,例如:

function showHeader($title="My Title")
{

    echo '<!DOCTYPE HTML>';
    echo '<html lang="en">';
    echo '<head>';
    echo '<title>' .$title. '</title>';
    echo '<meta http-equiv="content-type" content="text/html;charset=utf-8" />';
    echo '<meta name="viewport" content="width=device-width, initial-scale=1">';
    echo '<script src="js/javascript.js" type="text/javascript"></script>';
    echo '</head>';
    echo '<body>';       
}

正如您所看到的,它有一个指向JS文件的链接。

在我的view.php文件中,我做了类似的事情:

<?php
include ("view_fncs.php");
showHeader("Add a new submission");
?>

同样的原则适用于其他脚本。只需使用include链接两个文件,然后指定功能。

答案 2 :(得分:0)

您可以在.php文件中设置var $ userName。这样,变量$ userName可以在js文件中评估。

在php文件中:

<script>
    var $userName = <?php> echo $_SESSION['name'] ?>
</script>

<script src="js/someJs.js"></script>