2012-02-12 8 views
0

나는 SWF 파일에 대한 링크가 페이지자바 스크립트 쓰기는 온 클릭

에 클릭 할 때 라이트 박스에서 열립니다 일부 SWF 애플리케이션이 그 것이다 라이트

<a href"http:// {url} /swf/ {file} .swf">Name</a> 
을 실행하는 데 필요한 순수 표준 링크

나는 timestamp (timestamp가 필요한 형식이므로 PHP 코딩에서 날짜 ('U'))와 txt 파일을 클릭 한 링크의 "href"값을 쓰는 스크립트를 구현하려고 시도해 왔습니다 ... onClick = "function()"을 사용했습니다.

그러나 나는 t는

내가이

1328984654|http:// {url} /swf/ {file} .swf 
1328984829|http:// {url} /swf/ {file2} .swf 

내가 나누기 \ r에 \ n을 구현하는 라인을 추정하는 것처럼 txt 파일에 기록 된 라인을 가지고 바라고 .... 일을하는 내가 그나마

반드시 필자는 파일 확장자가 필요하지만 필자는 전체 링크 URL을 작성하는 것이 더 쉬울 것이라고 추측합니다. ...

내가 사용한 방법은 onclick을 제출 한 숨겨진 양식 이었지만 매우 경제적이지는 않았습니다. 숨겨진 iframe이 필요해. 그러니 ...... 너무 많은 일, whe NI는 링크 할 수는

onClick="new_function()" 

또는이 어떤 변화를 추가 할 수 있도록

내가 쉽게 기존 링크를 생성하는 스크립트를 변경할 수 있습니다 ....이 하나의 스크립트에서 구현 될 수 있다고 생각 함수에 ....

난 매우 자바 스크립트 경험이 아니에요, 내가 클릭 스크립트는 클라이언트 측 :(누군가가 나를 도울 수 있다면 사전에

감사해야합니다 알고, 환호

답변

1

자바 스크립트는 서버 파일 시스템에 액세스 할 수 없으며 파일에 아무 것도 쓸 수 없습니다. 그러나 자바 스크립트 (Ajax 읽기)를 사용하여 파일에 보내는 모든 데이터를 쓰는 PHP 파일을 실행할 수 있습니다.

jQuery를 사용하는 Ajax 요청은 훨씬 쉬운 해결책입니다. vanilla JS에서 XMLHttpRequests를 작성하는 것은 좀 더 복잡합니다.

$("#mylink").click(function() { 
    $.ajax({ 
     type: 'POST', 
     data: {swf : '1328984654|http: {url} /swf/ {file} .swf'}, 
     url: 'write_to_file.php', 
     success: function(data) { 
      alert('file saved'); 
     }, 
     error: function() { 
      alert('error'); 
     } 
    }); 
}); 

PHP에서 그렇게처럼 $ _POST 자동 전역에서 데이터를 얻을 수 있습니다 -

<a href"http:// {url} /swf/ {file} .swf" id="mylink">Name</a> 

가 :

$data = $_POST['swf']; 

HTML : jQuery를 당신이 뭔가를 할 것입니다

그런 다음 file_put_contents 나 다른 많은 솔루션 중 하나를 사용하여 데이터를 파일에 저장하십시오. 나는 그 부분에 들어 가지 않을 것입니다. PHP에서 타임 스탬프를 생성하고 동시에 JS에서 그렇게 할 필요가 없다는 것을 추가 할 수 있습니다.물론 이것보다 조금 더 복잡합니다. 예를 들어, $ _POST에 대한 일반적인 isset 검사를 수행하고 클라이언트 측에서 오는 모든 데이터를 위생해야하지만, 독자가 약간의 독서와 테스트를 수행하면 시간이 많이 걸리지 않으며, 실제로 그렇게 어렵지는 않습니다. 몇 줄의 코드만으로도 당신이 무엇을하고 실행하려고하는지에 대한 기본적인 예를 알 수 있습니다.

탁월한 솔루션, 감사합니다,하지만 내가 어떻게 게시물 변수로 링크 URL을 얻기 위해 jQuery를 사용하는 것이
+0

? 어떻게 $ .ajax 명령을 onclick이라 부르겠습니까? 나는 이미 내 사이트에서 php와 많은 플랫 파일 상호 작용을 구현했다. 문제의 PHP 쪽과 관련하여 고마워한다. –

+0

내가 아약스 요청을 쓰기에 대한 자습서를 발견하고, 내가이 xmlhttp.send ("에 fname = 헨리 & LNAME = 포드")와 폼에 데이터를 보낼 수 확인; .....하지만 난 변수 (보낼 요청을 얻을 수있는 방법에 "http : // {URL을}/SWF/{파일} .SWF"... 나는 onclick 이벤트의 요청을 활성화한다 , 그러나 onclick 함수를 호출 한 링크에서 'href'값을 보내는 방법은 무엇입니까? –