php require 的詭異問題,吃不到原本的 js ?

假設有個 a.php 頁面
下面有引入 abc.js ,以及一個 abc.min.jsabc.js 核心),是這個頁面需要用到的套件,這邊沒問題。

<script src="abc.min.js"></script>
<script src="abc.js"></script>
</body>

但是
當我在 a.php 頁面用 require_once 引入一個 b.php 文件時
b.php 中也是有用到這個套件,我用 ajax GET 利用 click 去取 b.php 的數據回到 a.php 頁面時,卻發現那個套件變得無法使用了?

<div id="tab"></div>
$('.btn').click(function(e) {
  e.preventDefault();
  var id = e.currentTarget.dataset.id;

  $('#tab').html('請稍候...');

  $.ajax({
    type: "GET",
    url: "b.php?id="+id,
    success: function(data){
      $('#tab').html(data);
    }
  });

});

但明明在 a.php 是可以用的。

於是我懷疑:我在 a.php 印出 b.php 頁面還需要再引入一次 abc.js
於是我放上 <script src="abc.js"></script>b.php 後,竟然可以用!
但詭異的是我這兩個 JS abc.min.js and abc.js 都是在 <div id="tab"></div> 的下面才引入
就像這樣:

<div id="tab"></div>

<script src="abc.min.js"></script>
<script src="abc.js"></script>

所以我在 tab 中引入 b.php 時(因為我在 b.php 也有加上 <script src="abc.js"></script>
問題是這個JS必須要先執行 abc.min.js 才可使用,竟然在 abc.min.js 還沒有讀取的情況下,竟然可以用?
但是有報錯誤:XXX not defind

為什麼會有這種事?....
如何改善這件事?

梵蒂冈之花
浏览 282回答 1
1回答

人到中年有点甜

你的操作有点骚,我从没见过这么骚的操作,Js不经过浏览器引擎,是运行不起来的
打开App,查看更多内容
随时随地看视频慕课网APP