2010-07-12 6 views
0

location.href="MyURL"<a href="MyURL"></a>으로 변환하는 JavaScript 또는 Objective-C 방법이 있습니까?location.href URL을 앵커 링크로 변환

나는 200 같이 location.href URL UIWebViewNavigationTypeLinkClicked 작업을하지 않은 : 나를 도울 수있는 모든 사람에게

감사 -S를! document.getElementById를() 앵커 (들)의 ID 속성에 대한 참조를 잡고 :

+0

질문을 명확히해야합니다 : location.href 텍스트로 표시된 링크가있는 HTML 텍스트가 있고 태그로 기본 텍스트 번역을 원하십니까? – Nick

+0

브라우저에서 앵커 링크처럼 내 Javascript (이벤트) {location.href = http : // ...}를 읽을 수있게하려는 경우 문제를 자세히 설명하십시오. 그게 가능합니까? – Obliviux

+0

다음과 같이 보겠습니다. 기본적으로 URL을로드하는이 이벤트가 있습니까? 페이지를로드하는 대신 해당 페이지에 대한 링크를 표시 하시겠습니까? 이 경우 함수를 다음과 같이 다시 작성할 수 있습니다. {document.write (""); } ... 링크를 표시해야합니다. – Nick

답변

0
<a href="http://www.myurl.com" id="myAnchor"></a> 

    <script type="text/javascript"> 
     document.getElementById("myAnchor").setAttribute("href", window.location.href); 
     var loc = document.getElementById("myAnchor").getAttribute("href"); 
     var t = document.createTextNode(loc); 
     document.getElementById("myAnchor").appendChild(t); 
    </script> 

여기 그것을하는 하나의 방법이다. setAttribute(), "window.location.href"의 두 번째 인수는 현재 윈도우에서 url에 대한 참조를 가져오고 앵커에 href 속성을 this로 설정하지만 location.href()가 선언되어 있으면 귀하의 코드에서 다음 첫 번째 줄 앞에 변수로 이러한 저장 및 다음 "loc"선언 한 같은 줄 주위에 변수를 참조하십시오. 변수 "loc"은 이전 라인에서 방금 선언 한 새로 생성 된 href 속성에 대한 참조를 저장하는 변수를 선언합니다. 그런 다음 DOM에 텍스트 노드를 만드는 변수 "t"를 선언합니다. 이전 행의 href를이 변수가 유지할 값으로 사용합니다. 마지막으로 document.getElementById를 사용하여 "myAnchor"를 다시 얻고 이전 행의 텍스트 노드를 추가합니다. 이제 링크에서 실제로 URL을 볼 수 있습니다.

 //Also, use a for loop to run this action 200 times and correct all of the hrefs  on your page. 
     <script type="text/javascript"> 
      for (var i=0;i<200;i++){ 
       //run document.getElementById() and .setAttribute, .createTextNode, etc. here 
      } 
     </script> 

근무 바이올린 : http://jsfiddle.net/1so33q4z/36/

나는 (document.write를 사용을 권장하지 것이다); 다른 사람의 게시물에서 언급했듯이 DOM이 의도하지 않은 방식으로 페이지가 작동하게됩니다 (직렬화 된 텍스트 작성). 특히 200 개를 수정해야하는 경우. 이 게시물을 참조하십시오 Why is document.write considered a "bad practice"?

관련 문제