2012-10-07 3 views
0

먼저 브라우저의 웹 페이지로 오프라인으로 실행 중이며 php와 같은 추가 설치없이 작동해야합니다.파일에서 무작위로 url을 iframe에로드하십시오.

콘텐츠를 임의로로드해야하는 iframe이 있습니다.

내가 가진 :

  • /index.html이 (Iframe에있는 페이지)
  • /files.txt (상대 URL의 목록 파일)

과 톤을 .html 파일 (하위 폴더에도 있음).
각 파일에 대해 정확한 상대 경로를 사용하여 files.txt에 항목이 있습니다.

파일이 너무 많지 않은 경우 상대 URL을 사용하여 하드 코딩 된 자바 스크립트 배열을 만들고 iframe의 소스로 무작위로 해당 배열의 항목을 가져옵니다. 하지만 6000 개가 넘는 파일에 대해 이야기하고 있습니다. 어떻게 그렇게 할 수 있습니까?

+1

그냥 '파일의 내용을 분석하여 자바 스크립트 코드를 생성 할 수 없습니다 .txt'? 'grep' /'sed' /'awk'? 가능하다면'files.txt'가 자주 변경된다면 ... –

+0

좋은 아이디어, 나는 멍청한 사람 이겠지만, 확실히 구글과 함께 할 것입니다. 나의 유일한 관심사는 6500 개의 항목을 가진 배열을 하드 코딩하면 로딩 시간이 느려질 수 있다는 것입니다. 그 관심사는 쓸모 없습니까? – Stephen

답변

0

당신은 AJAX를 통해 파일 목록을로드 jQuery를 사용할 수는 \n하여 분할 및 iframe에 대한 src로 임의 라인을 설정

$.ajax({ 
    url: 'files.txt', 
    success: function(text) { 
    var fileList = text.split('\n'); 
    var randomIndex = randomInt(0, fileList.length - 1);  

    $('iframe').attr('src', fileList[randomIndex]); 
    } 
}); 

function randomInt(min, max) { 
    return Math.floor(Math.random() * (max - min + 1)) + min; 
} 
+0

먼저 jQuery와 AJAX를 사용하는 방법을 알아야합니다. 그러면 이것을 시도해 보겠습니다. 감사합니다. – Stephen

+0

태그 아래에 iframe을 넣어두면 여전히 작동하지 않습니다. 나는 sry이지만 이것을 구현하기에 충분한 jQuery를 모른다. 한 번 더 도와 주시겠습니까? – Stephen

+0

HTML이 다음과 같이 표시되어야합니다. http://pastebin.com/HBg9dF0z – Inferpse