JQuery 용 플러그인을 사용하려고 할 때 다음 오류가 발생합니다.잡히지 않은 TypeError : Object [object Object]에 'fancybox'메서드가 없습니다.
이상하게도 이것은 기본 HTML 파일 안에있을 때 완벽하게 작동하지만 여전히 PHP로 작업을 시작하면이 오류가 발생합니다.
`Uncaught TypeError: Object [object Object] has no method 'fancybox'`
오류가 포함 라인에 발생하는 ...
$('#show-slider').fancybox(function() {
여기 내 HTML입니다.
<?php
require_once('includes/functions.php');
$id = $_GET['id'];
connect();
$q = "select * from urls where id = $id";
$r = mysql_query($q);
if($r === FALSE) {
die(mysql_error());
} else {
$arr = mysql_fetch_array($r);
}
mysql_close();
?>
<html>
<head>
<title><?=$arr[2]?></title>
<link rel="stylesheet" type="text/css" href="/includes/fancybox/jquery.fancybox-1.3.4.css" media="screen" />
<link rel="stylesheet" type="text/css" href="/includes/css/style.css" media="screen" />
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script>
<script type="text/javascript" src="/includes/fancybox/jquery.fancybox-1.3.4.pack.js"></script>
<script type="text/javascript">
function go() {
$('#show-slider').fancybox(function() {
$('#slider').css('display', 'inline');
});
$('#show-slider').click();
}
</script>
</head>
<body>
<iframe src="<?=$arr[1]?>" width="100%" height="100%" onload="go();">
<p>Your browser does not support iframes.</p>
</iframe>
<a id="show-slider" href="#slider" style="display: none;">Inline</a>
<div style="display: none;">
<div id="slider">
<?=$arr[3]?>
</div>
</div>
</body>
</html>
EDIT : 내 .htaccess가 약간 혼란스러운 것처럼 보입니다.
RewriteEngine On
RewriteRule ([0-9]+) show.php?id=$1
해야 할 일은 숫자 인 URL 만 가져 와서 위에 게시 한 파일 인 show.php로 보내는 것입니다.
내 브라우저에서 내 CSS 또는 자바 스크립트 파일을 방문하면 show.php 페이지로 전송됩니다.
편집 2 : 예, 그것이 htaccess였습니다.
여기에 새 버전이 있으며 모든 것이 잘되었습니다.
RewriteEngine On
RewriteRule ^([0-9]+)$ show.php?id=$1
귀하의 PHP 출력이 귀하의 HTML을 무효화시키는 원인입니까? –
방금 CSS 또는 자바 스크립트 파일에 액세스하려고 할 때 .htaccess가 간섭하고있는 것으로 나타났습니다. 그 정보로 원래 게시물을 수정하겠습니다. –