<?php
$keyword = $_GET['keyword'];
?>
<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="get">
URL : <input type="text" name="keyword" value='<?php echo $keyword ?>'>
<input type="submit" value="전송" onclick="potal_search()">
</form>
<script>
var keyword = "<?php echo $keyword?>";
function potal_search(keyword) {
window.open("https://search.daum.net/search?w=tot&DA=YZR&t__nil_searchbox=btn&sug=&sugo=&q=" + keyword);
window.open("https://search.naver.com/search.naver?sm=top_hty&fbm=1&ie=utf8&query=" + keyword);
}
</script>
현재창은 그대로 둔 상태에서, 다음과 네이버를 동시에 각각 새탭으로 열리게 하려면?
답변 6개 / 댓글 14개
제어권에 관한 문제인데요,
부모창에서 클릭하면 먼저것이 새창으로 뜨게 될거고,
다음 명령이 실행되기 전에 새창으로 제어권이 넘어 갑니다.
비유를 들자면 focus가 새창으로 이동해 버린다는거죠.
그래서 그 다음 단계의 명령이 실행되지 못해
동시에 두개를 열 수 없게 되는 겁니다.
제어권을 통제해 본 적은 있는데 이 경우에는 모르겠네요.
답변에 대한 댓글 1개
이 코드로 교체해봐도 창이 하나만 열려용. ^^;<---------------
daum이 없어지고 naver가 열리는 상태인가요?
그렇다면 각각의 팝업창에 이름을 주어보세요
keyword, 'daum'
keyword,'naver'
답변에 대한 댓글 3개
chrome://settings/content/popups
감사합니다. ( ^ _________ ^ ) ===b
아니 이게 답이라고요.
현재 상태에서 키워드 넣고. 클릭하면 창은 두개 열리는데 키워드가 없는 것으로 나오죠
다시 클릭하면 새창에 검색어 추가되어 열려요...
단지 코드가 잘못되어서 그럴뿐.
앞전 소스는 오류가 있고요.
아래 소스로 해보세요.
<?php
$keyword = $_GET['keyword'];
?>
<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="get">
URL : <input type="text" name="keyword" value='<?php echo $keyword ?>' ID='keywd'><<추가 ID
<input type="button" value="전송" onclick="potal_search()"> input type="button" 으로 변경
</form>
<script>
//var keyword = "<?php echo $keyword?>"; // 필요없음
function potal_search( /*keyword 이거 필요없음*/ ) {
var keyword = document.getElementById('keywd').value; // 키워드값 구하기
window.open("https://search.daum.net/search?w=tot&DA=YZR&t__nil_searchbox=btn&sug=&sugo=&q=" + keyword);
window.open("https://search.naver.com/search.naver?sm=top_hty&fbm=1&ie=utf8&query=" + keyword);
}
</script>
답변에 대한 댓글 6개
--------------
추가수정
네이버는 검색 url 이 잘못된것 같아요. 키워드가 안드가네요.
뭔가 쿼리가 틀렸을 겁니다.
끝...
건승을...
코드문제가 아닌 다른 문제가 있으신것 같네요.
혹시 네이버는 창은 열리는데 키워드가 안들어 가는 것 아닌가요?
만약 그거라면
header('Content-Type: text/html; charset=UTF-8'); 이거 추가해줘보세요.
저아래 균이님이 팝업창 허용문제에 관해서 언급해놨네요.
참고하세요.
그런데, 익스11은 여전히 안 되더라구요. 엣지는 되구...
저 때문에 팻시 님 욕 많이 보셨네요. 수고 많으셨습니다.
( ^ ____________ ^ ) ===b
두번째 클릭에서는 됩니다.
함수의 순서가 잘못되었어요.
<?php
$keyword = $_GET['keyword'];
?>
<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="get">
URL : <input type="text" name="keyword" value='<?php echo $keyword ?>' ID='keywd'><<추가 ID
<input type="submit" value="전송" onclick="potal_search()">
</form>
<script>
//var keyword = "<?php echo $keyword?>"; // 필요없음
function potal_search(keyword) {
var keyword = getElementById('keywd').value; // 키워드값 구하기
window.open("https://search.daum.net/search?w=tot&DA=YZR&t__nil_searchbox=btn&sug=&sugo=&q=" + keyword);
window.open("https://search.naver.com/search.naver?sm=top_hty&fbm=1&ie=utf8&query=" + keyword);
}
</script>
답변에 대한 댓글 2개
지금 상태로도 두번째로 검색을 클릭하면 결과 나와요.
다만 현재 키워드가 아니라 지난번 입력 키워드가 나와서 그렇죠
https://test.homzzang.com
아무래도, 평정심 님 말씀처럼 제어권의 문제인 것 같아용.
ps.
이미 채택해버린 질문에도 답변해주시는 모습 너무 멋져용.
( ^ ___________ ^ ) ====b
keyword 라는 변수를 get으로 받은거라면 해당 함수의 인자로 받아야 되는게 아니고
function potal_search() {
var keyword = "<?php echo $keyword?>";
이게 맞을거 같은데요
뭐 참고로
var keyword = "<?php echo $_GET['keyword']?>";
형태를 추천드립니다.
답변에 대한 댓글 1개
저 코드가 그렇게 되는 것인데요.
문제가 뭔지....
답변에 대한 댓글 1개
그 키워드를 네이버와 다음 검색 쿼리에 넣어 새탭으로 열려고 하는데,
잘 안 되네요.
https://test.homzzang.com
답변을 작성하려면 로그인이 필요합니다.
질문 안 했으면 블랙홀에서 못 빠져나올 뻔 했네요.ㅋ