假設有個 a.php
頁面
下面有引入 abc.js
,以及一個 abc.min.js
(abc.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
為什麼會有這種事?....
如何改善這件事?
人到中年有点甜