iframe 에서 for 문으로 호출된 링크 실행하기

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
iframe 에서 for 문으로 호출된 링크 실행하기

QA

iframe 에서 for 문으로 호출된 링크 실행하기

본문

링크 버튼을 클릭하면 ifrmae 페이지로 aaa.php?id=1111 페이지를 열어서

mysql 의 쿼리를 돌려서 추출된 데이타를 푸시 서버로 전송하려고 합니다.

푸시 1개씩 보내는것은 https://sir.kr/g5_tip/21712 의 형식으로 해결을 했습니다

여러개의 푸시를 보내려고 하다보니, 어찌 해야할지 길을 찾지 못하고 있어서 조언을 구하고자 합니다.

 

<button type="button" ...>클릭</a>

 

<iframe id="aaa" src="aaa.php?id=1111" width="0" height="0">

 

aaa.php 내용

<?php

$sql = " select * from 디비테이블 where id = '{$id}' ";

$qry = sql_query($sql);

for ($i =0; $row = sql_fetch_array($qry); $i++) {

  // for문이 돌면서 push 서버로 링크를 전송

  echo "https://aaaaa.cloudfunctions.net/doTsubFcmSend?token={$row['token']};

}

이 질문에 댓글 쓰기 :

답변 4

iframe 을 쓰지 않아도 되지 않을까 싶습니다.

 


<button type="button" id="btn">클릭</a>
$("#btn").on('click', function() {
    let _id = '1111';
  $.ajax({
    type: "POST",
    url: "aaa.php",
    {id : _id},
    success: function(response) {
      alert(response);
    },
    error: function(xhr, status, error) {
      alert("에러 (" + xhr.status + ")");
    },
  });
});
* aaa.php

$sql = " select * from 디비테이블 where id = '{$id}' ";
$result = sql_query($sql);
for ($i = 0; $row = sql_fetch_array($result); $i++) {   
    $url = "https://aaaaa.cloudfunctions.net/doTsubFcmSend?token={$row['token']}";
    
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);    
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $response = curl_exec($ch);    
    curl_close($ch);
    
    $response .= "|";    
}
echo $response;

질문의 요지를 정확히 이해 못했는데...

for 문에서 생성된 링크가 다섯개라면 부모창에서 다섯개의 아이프레임으로 표현되길 원하시는 건가요?

아니면 다섯개 중 랜덤으로 하나만 뜨길 원하시는 건가요?

아니면 버튼이 다섯개가 생기면서 버튼클릭시 아이프레임의 내용이 바뀌어지는 이벤트를 원하시는 건가요?

 

물론 셋다 가능하구요. 정확히 어떤 걸 원하시는지 궁금해서요.

경우1> 버튼을 누르면 1개의 iframe 에서 페이지가 열리고
그 속에서 for 문이 돌면서 푸시하기

경우2> 버튼누르면 for 문이 돌면서 ifame 에 각각 푸시 경로가 실행되기

위 둘중 아무거나 상관없는데..
생각해보면 두번째가 더 이상적일수가 있겠군요

질문 요지가......... :)

 

버튼누르면 for 문이 돌면서 ifame 에 각각 푸시 경로가 실행되기

라면...

 

1. iframe 1개 출력후

2. 버튼 누르면...

3. iframe들 추가 생성...

이럼 끝나는 것 아닌가요???

 

정확히 어떤 걸 구현하시려는지 아직까지 이해를 못하고 있습니다민...

 

aaa.php 의 내용물을 각 경로에 * 으로 분기하게끔 데이터를 뿌려주고


https://sir.kr/*https://www.google.co.kr/*https://www.naver.com/

 

이걸 아작스로 처리하는게 좋을 듯 싶네요.

aaa.php 에 등록된 경로 숫자만치 아이프레임이 생겨납니다.

 


<button type="button" onclick="ajaxSrc()">클릭</button>
<div id="myDiv"></div>
 
<script>
function ajaxSrc() {
    ajaxXhr = new XMLHttpRequest();
    ajaxXhr.open("get", "aaa.php?id=1111");
    ajaxXhr.onload = function() {
        iframes = ajaxXhr.responseText.trim().split("*");
        for (i of iframes) myDiv.innerHTML += "<iframe src='" + i + "'></iframe>";
    }
    ajaxXhr.send();
}
</script>
답변을 작성하시기 전에 로그인 해주세요.
전체 126
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT