jquery - jquey 탭 ajax 로드 HTML 충돌 문제가 있습니까?
迷茫
迷茫 2017-05-15 16:49:51
0
1
899

탭 로드의 html에 js, html, id가 포함되어 있을 수 있습니다. 어떻게 해결하나요?

(ifame은 필요하지 않습니다. iframe이 로드될 때마다 로드만큼 좋지는 않습니다. 캐시하더라도 초기화가 많이 필요합니다. 게다가 iframe 내부에 대화 상자를 표시하는 것도 매우 어렵습니다. iframe 외부에 동일한 대화 상자가 여러 페이지에 표시됩니다.)

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

모든 응답(1)
过去多啦不再A梦

세 가지 옵션이 있습니다:

  1. 몇 가지 명명 규칙을 사용하여 ID를 충돌하지 않는 형식으로 수정하세요. 이 솔루션은 주제의 요구 사항에 가장 부합하지 않는 것처럼 보이지만 나중에 단계에서 많은 문제를 줄일 수 있기 때문에 개인적으로 권장합니다. 이러한 HTML이 논리적으로 동일한 인터페이스에 있는 경우 서로 다른 ID를 가져야 합니다. 그렇지 않으면 나중에 논리와 스타일을 작성할 때 문제가 발생합니다.

  2. 탭의 HTML에만 ID 충돌이 있고 동시에 하나의 탭만 표시된다고 가정하면 탭을 잘라낼 때마다 표시되지 않은 탭을 DOM에서 분리하고 다음 경우 추가하는 것을 고려할 수 있습니다. 필요합니다.

  3. <iframe>contentWindow를 설정하여 HTML을 표시하려면 내용을 수정할 수 있습니다. 여전히 HTML의 외부 스타일과 스크립트는 물론 다양한 대화 상자를 표시할 수 있기를 원한다면 다양한 해킹 방법을 사용할 수도 있지만 여전히 문제가 끝없이 발생하는 해킹입니다. <iframe src="about:blank"></iframe> 来显示 html,通过设置 <iframe>contentWindow.document.body.innerHTML 可以修改它的内容。如果还希望能很好的显示 html 的外带样式和脚本,还有各种 dialog,也可以有各种 hack 的方法,但总归是个 hack,后患无穷。

P.S. 应题主要求,补充一些 hack 的思路。

  1. 如何让 jQuery UI 的 dialog 默认插入到指定的地方?

可以通过下面代码覆盖 dialog 的默认选项,其中关键的是 appendTo

P.S. 주제 소유자의 요청에 따라 몇 가지 해킹 아이디어를 추가하겠습니다.

🎜 🎜jQuery UI의 대화 상자를 기본적으로 지정된 위치에 삽입하는 방법은 무엇입니까? 🎜 🎜다음 코드를 통해 대화 상자의 기본 옵션을 재정의할 수 있으며, 가장 중요한 것은 appendTo 옵션입니다. 🎜 으아아아 🎜탭을 로드하기 전이나 탭을 전환한 후에 매번 이 옵션을 설정하고, 현재 표시된 탭 노드로 설정하세요. 🎜
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿