이 기사의 예에서는 ThinkPHP 컨트롤러의 자바스크립트 코드가 실행되지 않는 문제에 대한 해결 방법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 구체적인 방법은 다음과 같습니다.
다음은 컨트롤러에 있는 thinkphp의 웹 페이지 특수 효과 코드가 실행되지 않는 문제에 대한 솔루션을 분석하는 예입니다. "Exit" 항목을 예로 들어 보겠습니다. 왼쪽에 내 "Exit System" 링크가 기록되어 있습니다. 프레임을 동적으로 생성된 js를 사용합니다. 즉, 링크의 대상을 통해서는 지정할 수 없습니다.
$this->ass('jumpurl',__url__.'/ login') ;
$this->success("로그아웃 성공!");
이렇게 작성하면 점프할 페이지가 오른쪽 프레임에 표시됩니다.. url에 js 코드를 쓰면 작동하지 않기 때문에 이 두 줄의 코드를 주석 처리했습니다. 직접 사용:
echo "<script>window.top.location.href=' $url' ;</script>";
이 방법도 작동하지 않습니다. 한편으로는 __app__ 상수를 URL에서 사용할 수 없습니다. 반면에 실행의 최종 결과는 <script> 태그를 제거하는 것입니다. <br>
<div class="codetitle">
<span><a style="CURSOR: pointer" data="54152" class="copybut" id="copybut54152" onclick="doCopy('code54152')"><u>코드 복사</u></a></span> 코드는 다음과 같습니다.</div>
<div class="codebody" id="code54152">(window.top.location.href='index/login'; )</div>
<br>
액션 클래스에서 성공 함수를 확인했는데 관련 매개변수를 찾지 못했습니다.
<p> 그러다가 문득 든 질문이 있습니다. tp의 태그는 모두 꺾쇠괄호(<>)로 묶여 있습니다. 컨트롤러에 작성한 <script> 그래서 두 번째 코드를 다시 작성했습니다. <br>
</p>
<div class="codetitle">
<span><a style="CURSOR: pointer" data="93673" class="copybut" id="copybut93673" onclick="doCopy('code93673')"><u>코드 복사</u></a></span> 코드는 다음과 같습니다.</div>
<div class="codebody" id="code93673">echo '<literal><script>alert("종료했습니다. "); top.location.href="login";</script>';
그게 다야.
이 글이 모든 분들의 ThinkPHP 프레임워크 프로그래밍에 도움이 되기를 바랍니다.