동적으로 javascript 파일을 html 페이지에 포함하고 있는데, 이는 정상적으로 작동합니다. 하지만 파일에서 'tryData'함수를 실행하면 변수가 정의되지 않은 값으로 반환됩니다. 나는 비슷한 문제를 어디서나 발견 할 수없는 시간을 찾고 있었는데, 문제가 무엇인지 아는 사람이 있습니까? 외부 파일에서Javascript 함수는 변수를 정의되지 않은 값으로 반환합니다.
기능 :
function tryData(id, size){
document.getElementById('content').innerHTML = '<iframe src="http://domain.com/feeds/'+id+'/'+size+'/" id="frame"></iframe>';
if(window.data){
clearInterval(timer);
data();
}
}
내가 전화를 사용하고있는 라인 :
tryData(131, 'large');
내가 함수가 예상대로 프레임이 삽입되어 있기 때문에 실행되고 있는지 알 수 없다, 그러나 거기 도메인의 콘텐츠는 'domain.com/feeds/131/large/'대신 'domain.com/feeds/undefined/undefined/'로 표시됩니다. JS 파일 여기
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta name="robots" content="NOINDEX,NOFOLLOW" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<!-- Widget -->
<div id="content"></div>
<script>
(function(d, s) {
var js = d.createElement(s), ins = d.getElementsByTagName(s)[0];
js.src = "http://domain.com/feeds/insert.js";
ins.parentNode.insertBefore(js, ins);
tryData(131, 'large');
}(document, 'script'));
</script>
<!-- Widget End -->
</body>
</html>
됩니다 :
function data(){
var u;
u = document.URL;
$.post("http://domain.com/data.php", { u: u});
}
function tryData(id, size){
document.getElementById('lsb').innerHTML = '<iframe src="http://domain.com/feeds/'+id+'/'+size+'/" id="frame"></iframe>';
if(window.data){
clearInterval(timer);
data();
}
}
var script = document.createElement('script');
script.src = 'http://code.jquery.com/jquery-latest.js';
script.type = 'text/javascript';
document.getElementsByTagName('head')[0].appendChild(script);
timer = setInterval(tryData, 100);
, 하드 매개 변수? –
어떤 종류의 디버거 (각 브라우저마다 하나씩)를 사용하는 것은 어떻습니까 – SergeS
쓰레기 입력 = 쓰레기 출력. 어떤 매개 변수가 전달됩니까? 그들은 어디에서 왔니? –