2013-01-08 7 views
0

외부 자바 스크립트 페이지로 변수의 범위를 이해하는 데 매우 간단한 문제가 있습니다. 외부 시트를 호출하면 모든 전역 함수와 변수에 액세스 할 수 있어야합니다. 나는 그것이 작동하도록 할 수 없습니다. 검색을 요청할 올바른 질문을 아는 것은 어려운 부분이며 누군가 쉽고 빠르게 설명 할 수있는 문제에 대해 며칠 동안 인터넷을 통해 빗질 할 수 있습니다. 나는이 튜토리얼에서 simlar를 보았다. http://www.tizag.com/javascriptT/javascriptexternal.php, 나는 스택을 빨리 찾았고, What is the scope of variables in JavaScript?을 찾았고, 이것을 쓸 때도 나는 대답을 찾고있다.외부 js는 어떻게 작동합니까 ?? 내가 읽은 바로는 왜 작동하지 않을까요?

단순히 동일한 디렉토리에 외부 시트가 있으며 파일 이름은 trial.js입니다. 그런 다음 외부 trial.js의 전역 함수를 인덱스 페이지로 사용하려고하는 index.html이 있습니다. 이것은 가능하다? 단추 onclick 특성에있는 함수를 사용하여 tizag 자습서에 따라. 또한 많은 프레임 워크가이 원리에 너무 옳은가? 나는 그들이 $ (a) < ~~~ 참조를 사용하여 좀 더 정교하다는 것을 알고 있지만 ?? 또는 뭔가. 누구든지 도움을 주셔서 감사합니다. 계속 보이지만 잘하면 인터넷으로 도울 수 있습니다 !!

로컬 호스트/trial.js :

function trySomething(){ 
    alert("trying"); 
} 

로컬 호스트/index.html을 :

<html> 
<head> 
<title>Objects222</title> 
<script src="trial.js"></script> 
</head> 
<body> 
    <script type="text/javascript"> 
     trySomething(); 
    </script> 
    Hello 
</body> 
</html> 

그것은 자원에 원래했지만, 난 심지어 더 간단을 만들고 싶었다. 파이어 폭스와 크롬을 사용하는 것은 나를 위해 작동하지 않는다 ??? 페이지를로드하는 중 작동한다고 말하는 사람들은 "시도"라는 경고를 받습니까? 로컬에서 작동하지 않는 이유는 누구나 알 수 있습니다. 모든 캐시를 지우고 이름을 변경하여 업로드를 시도했습니다. 또한 @ localhost에서 Chrome, Firefox 및 IE를 사용하여 경고 메시지를 표시하지 않았습니다.

+5

스크립트 소스 태그가 resource/trial.js를 가리키고 있지만 질문에 따라 localhost/trial.js에 있습니까? 이것은 단지 오타입니까? – Krease

+1

브라우저의 개발자 도구의 네트워크 패널에서 파일이 올바르게로드되었는지 확인하십시오. 그렇다면 작동 할 것입니다. – Bergi

+1

아니요,'$ (a)'는 특별한 것이 아닙니다. '$'는 단지 짧은 변수 이름을 가진 전역 변수이며 그 값은 함수입니다. '$ = trySomething;'을하고'$()'를 호출 할 수도 있습니다. – Bergi

답변

0

나는 확신 할 수는 없지만 "Resources"전에 /가 있어야한다고 생각하지 않습니다. 전의. "Resources/myscript"가 작동합니다. 또한 "trial.js"가 "index.html"과 같은 디렉토리에 있으면 "Resources /"가 필요하지 않습니다.

+0

'/'는 유효합니다. 특히 스크립트가 localhost/resource/trial.js에있는 경우에는 유효합니다. 이 문제를 해결하는 것이 옳은 것인지 아닌지입니다. – Krease

+0

''Resources ''는 대부분의 경우''resources' '와 같지 않습니다. 더욱 분명히, '자원'은 '자원'과 동일하지 않다. – hayavuk

+0

내 부분에 오타가 있습니다. 같은 폴더로 가져 와서 내 전화를 확인했습니다. 여전히 페이지에서 편집을 로컬로 작동하지 않지만 게시 된 환경에서 올바르게 작동하는 것 같습니다. – Roger

0

방금 ​​아파치에서 테스트했는데, 외부 JavaScript 파일이 resource 폴더에 있다고 가정하면 잘 동작합니다 ().

0

이 코드는 복사해서 tested it을 복사해야하므로 잘 작동하는 것 같습니다. 한 가지 변경 사항은 "resource"폴더가 사이트 루트에 없으므로 스크립트 src에서 첫 번째 슬래시를 제거하는 것입니다. js 파일이 확실히로드되고 있습니까?

+0

이 테스트/스택에서는 훌륭하게 작동합니다. 왜 로컬에서 작동하지 않을 수도있는 아이디어가 있습니까? – Roger

+0

나는 자바 스크립트 기록을 삭제하고 trial1.js로 파일의 이름을 변경하고 localhost에서 여전히 작동하지 않는