자바 스크립트에 PHP 에코 / 인쇄가 있습니까?
스크립트 태그 내부에서 html을 인쇄하고 싶다고 가정합니다.
이와 같은 소스
<div>foo</div>
<script>
print('<div>Print this after the script tag</div>');
</script>
<div>bar</div>
스크립트가 실행 된 후 브라우저에서 다음과 같이 보일 것입니다.
<div>foo</div>
<script>
print('<div>Print this after the script tag</div>');
</script>
<div>Print this after the script tag</div>
<div>bar</div>
이 목적을 위해 내 자신의 코드를 작성할 수 있지만 이것은 매우 간단한 문제처럼 보이기 때문에 내가 뭔가를 놓쳤거나 내 생각이 어떤 식 으로든 결함이 있고 의도적으로 인쇄가 생략되었다고 생각합니다.
또한 다소 관련이 있습니다. 스크립트가 주변 스크립트 태그를 인식하는지 (또는 만들 수 있는지) 알고 싶습니다. 이 정보를 사용하면 인쇄 된 html 코드가 삽입 될 위치를 찾는 것이 훨씬 더 쉬워 질 것입니다.
명확히하기 위해 : 인쇄 기능을 작성하지 않아도됩니다. 이를 달성하기위한 기본 방법이 존재하는지, 그리고 그것을 놓쳤는 지 또는 그 대신 수행해서는 안되는 이유 만 알면됩니다.
편집 나는 질문을 통해 생각하지 않았다는 것을 깨달았습니다.
나는 내 사실을 똑바로 얻었고 이제 거의 모든 것이 작동하는 것 같습니다. 나는 원래 템플릿 내에서 인쇄 기능이 필요하다고 언급 했어야했다. 나는 템플릿 엔진 실험을하고있다. 일반 HTML에서 스크립트를 분리하고 분할 된 html sans 스크립트를 스크립트 출력과 연결하여 문제를 해결했습니다.
코드를 작성하면서 js의 비동기 특성 때문에 모든 것이 순조롭게 진행되지 않는다는 것을 알았습니다. PHP에서와 마찬가지로 템플릿에서 모든 종류의 js 마술을 할 수 있기를 기대하고 있었던 것 같습니다. 실제로 템플릿 내에서 절대 안전한 방식으로 비동기 코드를 지원하는 것 같으면 더 많은 생각이 필요합니다.
당신은 사용해야합니다 document.write()
<div>foo</div>
<script>
document.write('<div>Print this after the script tag</div>');
</script>
<div>bar</div>
문서를 작성중인 경우에만 작동합니다. 문서가 렌더링되면를 호출 document.write()
하면 문서가 지워지고 새 문서 작성이 시작됩니다. 이것이 귀하의 사용 사례 인 경우이 질문에 제공된 다른 답변을 참조하십시오.
document.write 를 사용할 수 있지만 좋은 방법은 아닙니다. 실행되는시기에 따라 전체 페이지가 지워질 수 있습니다.
다음 Element.innerHtml
과 같이 사용해야 합니다.
<div>foo</div>
<span id="insertHere"></span>
<div>bar</div>
<script>
document.getElementById('insertHere').innerHTML = '<div>Print this after the script tag</div>';
</script>
// usage: log('inside coolFunc',this,arguments);
// http://paulirish.com/2009/log-a-lightweight-wrapper-for-consolelog/
window.log = function(){
log.history = log.history || []; // store logs to an array for reference
log.history.push(arguments);
if(this.console){
console.log( Array.prototype.slice.call(arguments) );
}
};
window.log 를 사용 하면 console.log와 동일한 작업을 수행 할 수 있지만 사용중인 브라우저가 먼저 console.log를 사용할 수 있는지 확인하여 호환성 문제 (IE 6 등)로 인해 오류가 발생하지 않도록합니다. .).
당신이 사용할 수있는
function echo(content) {
var e = document.createElement("p");
e.innerHTML = content;
document.currentScript.parentElement.replaceChild(document.currentScript, e);
}
echo 함수를 호출 한 현재 실행중인 스크립트를 content 인수의 텍스트로 대체합니다.
에서 자바 스크립트 출력에 w3school의 페이지 ,
JavaScript는 다양한 방식으로 데이터를 "표시"할 수 있습니다.
window.alert ()를 사용하여 경고 상자에 쓰기.
document.write ()를 사용하여 HTML 출력에 쓰기.
innerHTML을 사용하여 HTML 요소에 쓰기.
console.log ()를 사용하여 브라우저 콘솔에 쓰기.
document.write
또는 심지어 사용할 수 있습니다 console.write
(디버깅에 좋습니다).
But your best bet and it gives you more control is to use DOM to update the page.
$('element').html('<h1>TEXT TO INSERT</h1>');
or
$('element').text('TEXT TO INSERT');
this is an another way:
<html>
<head>
<title>Echo</title>
<style type="text/css">
#result{
border: 1px solid #000000;
min-height: 250px;
max-height: 100%;
padding: 5px;
font-family: sans-serif;
font-size: 12px;
}
</style>
<script type="text/javascript" lang="ja">
function start(){
function echo(text){
lastResultAreaText = document.getElementById('result').innerHTML;
resultArea = document.getElementById('result');
if(lastResultAreaText==""){
resultArea.innerHTML=text;
}
else{
resultArea.innerHTML=lastResultAreaText+"</br>"+text;
}
}
echo("Hello World!");
}
</script>
</head>
<body onload="start()">
<pre id="result"></pre>
</body>
//We would create our own function in js like echo "Hello world".
function echo( ...s ) // write for more detail below
{
for(var i = 0; i < s.length; i++ ) {
document.write(s[i] + ' '); // quotes for space
}
}
// Now call to this function like echo
echo('Hellow', "World");
Note: ... dotes for access more parameters in one as object/array, to get value from object/array we should iterate the whole object/array by using for loop or other method but for is common, like below and s is name i just kept you can write whatever you want.
l('output text example')
after once defining
l=console.log
seems fine to me for a quick hacksy JS debugging in the browser console.
Based on @Lil' Bits’s answer – thanks!
ReferenceURL : https://stackoverflow.com/questions/13633085/is-there-a-php-echo-print-equivalent-in-javascript
'Development Tip' 카테고리의 다른 글
맞춤 이벤트를 통해 추가 데이터를 전달하는 방법이 있습니까? (0) | 2021.01.07 |
---|---|
Java의 String.format () 및 16 진수 (0) | 2021.01.07 |
파이프와 소켓의 차이점은 무엇입니까? (0) | 2021.01.07 |
phpMyAdmin 오류 : mbstring 확장이 없습니다. (0) | 2021.01.07 |
Dockerfile을 사용하여 호스트에서 컨테이너로 파일을 복사하는 방법 (0) | 2021.01.07 |