내 사이트에 PHP에 대한 액세스 권한이 없으므로 아래에서 수행하려는 작업이이 코드를 사용하여 해결하려고합니다. 아래 열거 된 두 링크가 포함 된 링크를 검색합니다./watch와 함께 youtube에서 하나? 그 안에는 YouTube의/v가있는 URL이 있습니다. 또한 임베디드 요소를 검색합니다. 문제는 스크립트를 실행하여 오류로 인해 다른 모든 코드가 손상되는 것입니다.정의되지 않은 스크립트 문제에서 메서드 대체를 호출 할 수 없습니다.
Uncaught TypeError: Cannot call method 'replace' of undefined
엉덩이에 통증이 있습니까! 그래서 나는 그것을 FF로 가져 갔고 변수 WT는 명확하게 정의되어 있지 않다고 말한다. if 문의 범위 밖에서 사용 했으므로 그렇지 않을 수도 있습니다. 링크가 존재하는지 확인하는 방법을 모르겠습니다. Embed가 존재하는 경우뿐만 아니라 코드도 실행됩니다. 이것들은 내 사용자 게시물에 있으며 내 fancybox에서 자동으로 작동하도록 변경됩니다.
그것의 빠른 연결 CSS 내 페이지에서 복사 된 마크 업 그래서 버그 모양을 신경 쓰지 않는다.
$(function() {
//if link contains /watch?
var t = $('.entry-content div div a[href*="youtube.com/watch?"]').attr('href');
if(typeof t !== "undefined") {
//do nothing don't run the script below
} else {
var d = $('.entry-content div div a[href*="youtube.com/watch?"]');
var newsrc = t.replace('watch?','');
var asrc = newsrc.replace('=','/');
var g = asrc.replace('http://www.','http://img.');
var s = g.replace('v','vi');
d.attr('class','ez_video');
d.attr('href', asrc).html('<img src="'+ s +'/0.jpg"/>');
}
//if link contains /v
var wt = $('.entry-content div div a[href*="youtube.com/v"]').attr('href');
if(typeof wt !== "undefined") {
//do nothing don't run script below
} else {
var wd = $('.entry-content div div a[href*="youtube.com/v"]');
var o = wt.replace('http://www.','http://img.');
var v = o.replace('v','vi');
wd.attr('class','ez_video');
wd.attr('href', v).html('<img src="'+ v +'/0.jpg"/>');
}
//if embeded file
var src = $('.entry-content').find('embed').attr('src');
if (typeof src !== "undefined") {
//do nothing again unless true run script below
} else {
var qload = src.replace('http://youtube.com/v/','');
var y = src.replace('http://','http://img.');
var imgsrc = y.replace('v','vi');
$('embed').before('<a class="ez_video" id="'
+ qload +'" href="'+ src +'"><img src="'
+ imgsrc +'/0.jpg" tile="" alt=""/></a>');
$('embed').remove();
}
//Now make all work with the fancybox
$('.ez_video').fancybox({
'autoScale' : false,
'transitionIn' : 'elastic',
'transitionOut' : 'elastic',
'width' : 854,
'height' : 480,
'type' : 'swf',
'swf' : {
'wmode' : 'transparent',
'allowfullscreen' : 'true'
}
});
});
코드는 __are__ 변수가 정의되지 않은 경우에만 실행됩니다. 왜? – Mathletics
정말 기다려? 나는 종류의 var를 배웠습니다! == "undefined"영역은 정의되지 않았습니까? – EasyBB
'! =='은 "같지 않음"을 의미합니다. '==='는 "정확히 같음"을 의미합니다 – Mathletics