åã®è¨äºã§æ±ã£ãéè¦ãªçå±ããããã使ã£ã¦ããã®è¨äºã§ã¯å®è·µçãªç·´ç¿ãè¡ãªãã¾ããããã§ã¯ããªããèªåã§ç¬èªé¢æ°ã使ããããã®ç·´ç¿ãè¡ãªã£ã¦ããã¾ããåæã«ã颿°ãæ±ãä¸ã§å½¹ã«ç«ã¤ç´°ã ã®èª¬æããã¦ããã¾ãã
åæç¥è: HTMLããã³CSS ã®åºç¤ãçè§£ããããã¾ã§ã®ã¬ãã¹ã³ã§èª¬æãã JavaScript ãææ¡ãã¦ãããã¨ã å¦ç¿ææ:ããããä½ãã«ã¹ã¿ã 颿°ã¯ displayMessage()
ã¨å¼ã°ãã¾ãããã®é¢æ°ã¯ã¦ã§ããã¼ã¸ã«ã«ã¹ã¿ã ã¡ãã»ã¼ã¸ããã¯ã¹ã表示ãããã©ã¦ã¶ã¼å
èµã® alert() 颿°ãã«ã¹ã¿ãã¤ãºãã¦ç½®ãæããåãããã¾ããããã¯ä»¥åã«ãè¦ããã¨ãããã¾ãããè¨æ¶ãå¼ã³èµ·ããã¾ãããããã©ã¦ã¶ã¼ã® JavaScript ã³ã³ã½ã¼ã«ã§ã好ããªãã¼ã¸ã«ä»¥ä¸ãå
¥åãã¦ãã ããã
alert("ããã¯ã¡ãã»ã¼ã¸ã§ã");
alert
颿°ã¯å¼æ°ãä¸ã¤åãã¾ããã¢ã©ã¼ãããã¯ã¹ã«è¡¨ç¤ºãããæååã§ããæååãè²ã
å¤ãã¦ã¡ãã»ã¼ã¸ãå¤åããã¦ã¿ã¦ä¸ããã
alert
颿°ã«ã¯å¶éãããã¾ããã¡ãã»ã¼ã¸ã夿´ãããã¨ã¯ã§ãã¾ãããè²ãã¢ã¤ã³ã³ãªã©ããã以å¤ã®é¨åãç°¡åã«ã¯å¤ãããã¾ããããã£ã¨æ¥½ããã§ãããã¤ãä½ãã¾ãããã
ã¡ã¢: ãã®ä¾ã¯ãã¹ã¦ã®ç¾è¡ãã©ã¦ã¶ã¼ã§åé¡ãªãåä½ããã¯ãã§ãããå°ãå¤ããã©ã¦ã¶ã¼ã§ã¯ã¹ã¿ã¤ã«è¨å®ãå°ãããããè¦ããããããã¾ããããã®å®ç¿ã¯ FirefoxãOperaãChrome ã®ãããªç¾è¡ãã©ã¦ã¶ã¼ã§è¡ããã¨ããå§ããã¾ãã
åºæ¬çãªé¢æ°æåã«ãåºæ¬çãªé¢æ°ãçµã¿ç«ã¦ã¦ããã¾ãããã
ã¡ã¢: 颿°ã«ååãä»ããæ¹éã¨ãã¦ã¯ã夿°ã®ååä»ãã®ã«ã¼ã«ã¨åãã«ã¼ã«ã«å¾ãã¹ãã§ããåé¡ã¯ããã¾ãããããã«è¦åããã¤ãããã§ãã颿°ãªãããå¾ã«æ¬å¼§ãä»ãã¾ããã夿°ã«ã¯ä»ãã¾ããã
function-start.html ãã¡ã¤ã«ã«ã¢ã¯ã»ã¹ãã¦ããã¼ã«ã«ã³ãã¼ã使ããã¨ããããå§ãã¾ããHTML ã¯åç´ã§ãã body ã«ã¯ãã¿ã³ä¸ã¤ããããã¾ãããç¹è£½ã¡ãã»ã¼ã¸ããã¯ã¹ç¨ã®åºæ¬ç㪠CSS ã¹ã¿ã¤ã«ã¨ãJavaScript ã追å ãã¦ããç¨ã®ç©ºã® <script>
è¦ç´ ãå«ã¾ãã¦ãã¾ãã
次ã«ã<script>
è¦ç´ ã®ä¸ã«ä»¥ä¸ã追å ãã¦ä¸ããã
function displayMessage() {
...
}
ãã¼ã¯ã¼ã function
ã§å§ãã¾ãããããã¯é¢æ°ãå®ç¾©ãããã¨ãæå³ãã¦ãã¾ããããã«ã颿°ã«ä»ãããååãä¸çµã®æ¬å¼§ãä¸çµã®ä¸æ¬å¼§ãç¶ãã¾ãã颿°ã«æ¸¡ã弿°ã¯æ¬å¼§ã®ä¸ã«ã颿°ãå¼ã³åºããã¨ãã«å®è¡ããã³ã¼ãã¯ä¸æ¬å¼§ã®ä¸ã«æ¸ãã¾ãã
æå¾ã«ã以ä¸ã®ã³ã¼ãã䏿¬å¼§ã®ä¸ã«è¿½å ãã¾ãã
const body = document.body;
const panel = document.createElement("div");
panel.setAttribute("class", "msgBox");
body.appendChild(panel);
const msg = document.createElement("p");
msg.textContent = "ããã¯ã¡ãã»ã¼ã¸ããã¯ã¹ã§ãã";
panel.appendChild(msg);
const closeBtn = document.createElement("button");
closeBtn.textContent = "x";
panel.appendChild(closeBtn);
closeBtn.addEventListener("click", () =>
panel.parentNode.removeChild(panel),
);
èªãã¨ããªãã®ã³ã¼ãéã«ãªãã®ã§ãå°ããã¤èª¬æãã¦ããã¾ãã
æåã®è¡ã§ã¯ <body>
è¦ç´ ã DOM API ã«ãã£ã¦é¸æããããã«ã body
ããããã£ã document
ãªãã¸ã§ã¯ãããåå¾ãã body
ã¨ãã宿°ã«ä»£å
¥ãã¾ãã®ã§ãããã使ã£ã¦ãããããã£ã¦ããã¾ãã
const body = document.body;
次ã®é¨åã§ã¯ DOM API 颿°ã® document.createElement()
ã使ãã<div>
è¦ç´ ã使ãããã¸ã®åç
§ã panel
ã¨ãã宿°ã«ä¿åãã¦ãã¾ãããã®è¦ç´ ã¯æã
ã®ã¡ãã»ã¼ã¸ããã¯ã¹ã®å¤æ ã¨ãªã£ã¦ããã¾ãã
次ã«ã¾ãå¥ã® DOM API 颿° Element.setAttribute()
ã使ã£ã¦ãããã«ã® class
屿§ã¨ãã®å¤ msgBox
ãè¨å®ãã¾ããããã¯è¦ç´ ã®ã¹ã¿ã¤ã«ãæå®ããããããããã§ãããã¼ã¸ã® CSS ãè¦ãã¨ãã¡ãã»ã¼ã¸ããã¯ã¹ã¨ãã®ä¸èº«ã«é©ç¨ããã¹ã¿ã¤ã«ã¨ã㦠.msgBox
ã¯ã©ã¹ã»ã¬ã¯ã¿ã¼ãããã®ããããã§ãããã
æå¾ã«ã DOM 颿°ã§ãã Node.appendChild()
ããå
ã»ã©æ ¼ç´ãã body
宿°ã«å¯¾ãã¦å¼ã³åºãã¾ããããã¯ãããè¦ç´ ãä»ã®è¦ç´ ã®åã¨ãã¦å
¥ãã¾ããããã«ã® <div>
è¦ç´ ã <body>
è¦ç´ ã®ä¸ã«åã¨ãã¦è¿½å ãã¾ãã使ããè¦ç´ ã¯èªåèªèº«ã§ãã¼ã¸ã«ç¾ããããã§ã¯ããã¾ããããããããæå®ããå¿
è¦ãããã¾ãã
const panel = document.createElement("div");
panel.setAttribute("class", "msgBox");
body.appendChild(panel);
次㮠2 ã¤ã®ã»ã¯ã·ã§ã³ã§ã¯æ¢ã«è¦ãåã createElement()
㨠appendChild()
颿°ã使ç¨ãã¦ã2 ã¤ã®æ°ããè¦ç´ ãã¤ã¾ã <p>
㨠<button>
ã使ããããã«ã®<div>
ã®åè¦ç´ ã¨ãã¦ãã¼ã¸ã«æ¿å
¥ãã¾ããæ®µè½ã®ä¸ã«ã¡ãã»ã¼ã¸ãæ¿å
¥ãã Node.textContent
ããããã£ï¼è¦ç´ ã®ããã¹ãå
容ã表ãï¼ã¨ãã¿ã³ã®ä¸ã« 'x' ã使ãã¾ãããã®ãã¿ã³ã¯ãã¦ã¼ã¶ã¼ãã¡ãã»ã¼ã¸ããã¯ã¹ãéããã¨ãã«ã¯ãªãã¯/ã¢ã¯ãã£ãåããå¿
è¦ãããã¾ãã
const msg = document.createElement("p");
msg.textContent = "ããã¯ã¡ãã»ã¼ã¸ããã¯ã¹ã§ãã";
panel.appendChild(msg);
const closeBtn = document.createElement("button");
closeBtn.textContent = "x";
panel.appendChild(closeBtn);
æå¾ã«ã addEventListener()
ãå¼ã³åºãã¦ãã¦ã¼ã¶ã¼ããéããããã¿ã³ãã¯ãªãã¯ããã¨ãã«å¼ã°ãã颿°ã追å ãã¾ãããã®ã³ã¼ãã¯ãã¡ãã»ã¼ã¸ããã¯ã¹ãéããããã«ããã¼ã¸ããããã«å
¨ä½ãåé¤ãã¾ãã
ç°¡åã«èª¬æããã¨ã addEventListener()
ã¡ã½ããã¯ãã¿ã³ï¼ã¾ãã¯å®éã«ã¯ãã¼ã¸ä¸ã®ä»»æã®è¦ç´ ï¼ã§ä½¿ç¨ã§ãã颿°ã¨ã¤ãã³ãã®ååãæ¸¡ããã¨ãã§ãã¾ãããã®å ´åãã¤ãã³ãã®åå㯠click
ãªã®ã§ãã¦ã¼ã¶ã¼ããã¿ã³ãã¯ãªãã¯ããã¨ãã«é¢æ°ãå®è¡ããã¾ããã¤ãã³ãã«ã¤ãã¦ã¯ã¤ãã³ãã®è¨äºã®è¨äºã§ããã£ã¨è©³ããå¦ã³ã¾ãã颿°å
ã®è¡ã§ã¯ã Node.removeChild()
DOM API ã使ç¨ã㦠HTML è¦ç´ ã®ç¹å®ã®åè¦ç´ ï¼ãã®å ´å㯠<div>
ããã«ï¼ãåé¤ãããã¨ãæå®ãã¾ãã
closeBtn.addEventListener("click", () => panel.parentNode.removeChild(panel));
åºæ¬çã«ã¯ããã®ã³ã¼ããããã¯å ¨ä½ã HTML ã®ãããã¯ãçæãã¦ãã¼ã¸ã«æ¿å ¥ãã¦ãã¾ãã
<div class="msgBox">
<p>ããã¯ã¡ãã»ã¼ã¸ããã¯ã¹ã§ã</p>
<button>x</button>
</div>
使¥ããã³ã¼ããããããããã¾ãããç¾æç¹ã§ãã©ã®ããã«åä½ãã¦ãããæ£ç¢ºã«è¦ããããªãã¦ããã¾ãå¿é ããªãã§ãã ãããããã§ã¯ã颿°ã®æ§é ã¨ä½¿ç¨æ³ãä¸å¿ã«èª¬æãã¾ããããã®ä¾ã§ã¯ä½ãé¢ç½ããã¨ã示ãããã£ãã®ã§ãã
颿°ã®å¼ã³åºãããã§ã<script>
è¦ç´ ã«æ¸ããã颿°å®ç¾©ããã¾ãããã¾ããããããã¯ä½ããã¾ããã
颿°ã®ä¸ã«æ¬¡ã®è¡ãå«ãã¦å¼ã³åºãã¦ã¿ã¦ãã ããã
ãã®è¡ã¯é¢æ°ãå¼ã³åºããããã«å®è¡ããã¾ããã³ã¼ããä¿åãã¦ãã©ã¦ã¶ã¼ãåèªã¿è¾¼ã¿ããã¨ãå°ããªã¡ãã»ã¼ã¸ããã¯ã¹ãããã« 1 åã ã表示ããã¾ãããããä¸åº¦å¼ã³åºãã ãã§ãã
ãã©ã¦ã¶ã¼ã®éçºè ãã¼ã«ã§ä¾ã®ãã¼ã¸ãéãã JavaScript ã³ã³ã½ã¼ã«ã«ç§»åãã¦ãã®è¡ãããä¸åº¦å ¥åããã¨ãã¾ã表示ããã¾ããæ¥½ããã§ããããã¤ã§ãå¼ã³åºããåå©ç¨å¯è½ãªé¢æ°ãã§ãã¾ããã
ããããããããã¦ã¼ã¶ã¼ãã·ã¹ãã ã®ã¢ã¯ã·ã§ã³ã«å¿ãã¦è¡¨ç¤ºãããããã«ãããã§ããããå®éã®ã¢ããªã±ã¼ã·ã§ã³ã§ã¯ããã®ãããªã¡ãã»ã¼ã¸ããã¯ã¹ã¯ãæ°ãããã¼ã¿ãå©ç¨å¯è½ã«ãªã£ãã¨ããã¨ã©ã¼ãçºçããã¨ããã¦ã¼ã¶ã¼ãèªåã®ãããã£ã¼ã«ãåé¤ãããã¨ããã¨ãï¼ãæ¬å½ã«å®è¡ãã¾ããï¼ãï¼ãã¦ã¼ã¶ã¼ãæ°ããé£çµ¡å ã追å ãã¦æä½ãæ£å¸¸ã«å®äºããã¨ããªã©ã«å¼ã³åºãããã§ãããã
ãã®ãã¢ã§ã¯ãã¦ã¼ã¶ã¼ããã¿ã³ãã¯ãªãã¯ããã¨ã¡ãã»ã¼ã¸ããã¯ã¹ã表示ããã¾ãã
追å ããåã®è¡ãåé¤ãã¾ãã
次ã«ããã¿ã³ã鏿ãããã®ãã¿ã³ã¸ã®åç §ã宿°ã«æ ¼ç´ãã¾ãã颿°å®ç¾©ã®ä¸ã®ã³ã¼ãã«æ¬¡ã®è¡ã追å ãã¾ãã
const btn = document.querySelector("button");
æå¾ã«ãåã®è¡ã®ä¸ã«æ¬¡ã®è¡ã追å ãã¾ãã
btn.addEventListener("click", displayMessage);
closeBtn ã®ã¯ãªãã¯ã¤ãã³ããã³ãã©ã¼ã¨åãããã«ãããã§ã¯ãã¿ã³ãã¯ãªãã¯ããããã¨ã«å¿çãã¦ã³ã¼ããå¼ã³åºãã¦ãã¾ãããããããã®å ´åãã³ã¼ããå«ãç¡å颿°ãå¼ã³åºãã®ã§ã¯ãªããååãæå®ã㦠displayMessage()
颿°ãå¼ã³åºãã¦ãã¾ãã
ä¿åãã¦å表示ãã¦ã¿ã¦ãã ããããã¿ã³ãã¯ãªãã¯ããã¨ã¡ãã»ã¼ã¸ããã¯ã¹ã表示ãããã¯ãã§ãã
ãªã颿°åã®å¾ã«æ¬å¼§ãä»ããªãã®ã䏿è°ã«æãããããã¾ãããããã¯ã颿°ãããã«å¼ã³åºããããªãããã§ãããã¿ã³ãã¯ãªãã¯ãããå¾ã«å¼ã³åºãã®ã§ãããã®è¡ã次ã®ããã«å¤æ´ãã¦ã¿ã¦ãã ããã
btn.addEventListener("click", displayMessage());
ããã¦ãä¿åãã¦åèªã¿è¾¼ã¿ããã¨ããã¿ã³ãã¯ãªãã¯ãããªãã¦ãã¡ãã»ã¼ã¸ããã¯ã¹ã表示ããããã¨ããããã¾ãï¼ãã®ã³ã³ããã¹ãã§ã®æ¬å¼§ã¯ã颿°å¼ã³åºãæ¼ç®åãã¨å¼ã°ãããã¨ãããã¾ããæ¬å¼§ã使ãã®ã¯ãç¾å¨ã®ã¹ã³ã¼ãã§é¢æ°ãããã«å®è¡ãããã¨ãã ãã§ããåãç¹ã§ãç¡å颿°ã®ä¸ã®ã³ã¼ãã¯ã颿°ã¹ã³ã¼ãã®ä¸ã«ããã®ã§ãããã«å®è¡ãããããã§ã¯ããã¾ããã
æå¾ã®å®é¨ã試ããå ´åã¯ãæå¾ã®å¤æ´ãåãæ¶ãã¦ããå®è¡ãã¦ãã ããã
弿°ã§é¢æ°ãæ¹åãã®ã¾ã¾ã§ã¯ããã®é¢æ°ã¯ã¾ã ãã¾ãæç¨ã§ã¯ããã¾ãããæ¯ååãæ¢å®ã®ã¡ãã»ã¼ã¸ã表示ããã ãã§ã¯å°ãã¾ãã弿°ã追å ãã¦é¢æ°ãæ¹è¯ãããã¾ãã¾ãªãªãã·ã§ã³ã§å¼ã³åºããããã«ãã¦ã¿ã¾ãããã
ã¾ãã颿°ã®æåã®è¡ãæ´æ°ãã¾ãã
function displayMessage() {
ãã®ããã«ãã¾ãã
function displayMessage(msgText, msgType) {
ããã§ã颿°ãå¼ã³åºãã¨ãã«ãæ¬å¼§ã®ä¸ã« 2 ã¤ã®å¤æ°å¤ãæå®ãã¦ãã¡ãã»ã¼ã¸ããã¯ã¹ã«è¡¨ç¤ºããã¡ãã»ã¼ã¸ã¨ããã®ã¡ãã»ã¼ã¸ã®ç¨®é¡ãæå®ãããã¨ãã§ãã¾ãã
æåã®å¼æ°ã使ç¨ããã«ã¯ã颿°å ã®æ¬¡ã®è¡ãæ´æ°ãã¾ãã
msg.textContent = "ããã¯ã¡ãã»ã¼ã¸ããã¯ã¹ã§ã";
ãã®ããã«ãªãã¾ãã
msg.textContent = msgText;
æå¾ã«ãæ´æ°ãããã¡ãã»ã¼ã¸ããã¹ããå ¥ããããã«ã颿°å¼ã³åºããæ´æ°ããå¿ è¦ãããã¾ããæ¬¡ã®è¡ã夿´ãã¦ãã ããã
btn.addEventListener("click", displayMessage);
次ã®ããã«ãã¾ãã
btn.addEventListener("click", () =>
displayMessage("ãããããã¯éãã¡ãã»ã¼ã¸ã§ãã"),
);
å¼ã³åºã颿°ã®å¼æ°ãæ¬å¼§ã§å²ãã§æå®ããå ´åã¯ã颿°ãç´æ¥å¼ã³åºããã¨ã¯ã§ãã¾ãããç¡å颿°ã®ä¸ã«å ¥ãã¦ããã®é¢æ°ãç´æ¥ã®ã¹ã³ã¼ãã«ãªãããã«ããããã«å¼ã³åºãããªãããã«ããå¿ è¦ãããã¾ãããã®é¢æ°ã¯ãã¿ã³ãã¯ãªãã¯ãããã¾ã§å¼ã³åºããã¾ããã
åèªè¾¼ã¿ãã¦ã³ã¼ããããä¸åº¦è©¦ãã¦ã¿ãã¨ããã¾ãåä½ãã¦ãããã¨ããããã¾ãããã ãã弿°å ã®ã¡ãã»ã¼ã¸ãå¤ããã¨ãããã¯ã¹ã«è¡¨ç¤ºãããã¡ãã»ã¼ã¸ãå¤ãããã¨ãã§ããããã«ãªãã¾ããã
次ã®å¼æ°ã«ç§»ãã¾ããããã¯å°ãæéããããã¾ããã msgType
弿°ã«è¨å®ãããå
容ã«å¿ãã¦ã颿°ãç°ãªãã¢ã¤ã³ã³ã¨ç°ãªãèæ¯è²ã表示ããããã«è¨å®ãã¾ãã
ã¾ãå§ãã«ããã®å®ç¿ã«å¿
è¦ãªã¢ã¤ã³ã³ï¼warning 㨠chatï¼ã GitHub ãããã¦ã³ãã¼ããã¦ãã ããã HTML ãã¡ã¤ã«ã¨åãå ´æã«ãã icons
ã¨ããæ°ãããã©ã«ãã¼ã«ä¿åãã¦ãã ããã
ã¡ã¢: iconfinder.com ã«ãã warning 㨠chat ã®ã¢ã¤ã³ã³ã¯ Nazarrudin Ansyari ã«ãã£ã¦ãã¶ã¤ã³ããããã®ã§ãããããã¨ãï¼ï¼å®éã®ã¢ã¤ã³ã³ã®ãã¼ã¸ã¯ç§»åãåé¤ããã¦ãã¾ããï¼
次ã«ã HTML ãã¡ã¤ã«å
ã® CSS ãæ¢ãã¾ããç§ãã¡ã¯ãã¢ã¤ã³ã³ã®éãä½ãããã«ããã¤ãã®å¤æ´ãè¡ãã¾ããã¾ã .msgBox
ã®å¹
ãæ¬¡ã®ããã«æ´æ°ãã¾ãã
ãã®ããã«ãã¾ãã
次ã«ã.msgBox p { }
ã«ã¼ã«å
ã«æ¬¡ã®è¡ã追å ãã¾ãã
padding-left: 82px;
background-position: 25px center;
background-repeat: no-repeat;
ããã§ã¢ã¤ã³ã³ã®è¡¨ç¤ºãå¦çããããã«ã displayMessage()
颿°ã«ã³ã¼ãã追å ããå¿
è¦ãããã¾ãã颿°ã®çµäºä¸æ¬å¼§ (}
) ã®ããä¸ã«æ¬¡ã®ãããã¯ã追å ãã¾ãã
if (msgType === "warning") {
msg.style.backgroundImage = "url(icons/warning.png)";
panel.style.backgroundColor = "red";
} else if (msgType === "chat") {
msg.style.backgroundImage = "url(icons/chat.png)";
panel.style.backgroundColor = "aqua";
} else {
msg.style.paddingLeft = "20px";
}
ããã§ã msgType
弿°ã« 'warning'
ãè¨å®ããã¨ãè¦åã¢ã¤ã³ã³ã表示ãããããã«ã®èæ¯è²ã¯èµ¤ã«è¨å®ããã¾ããã¾ãã 'chat'
ã«è¨å®ããã¨ããã£ããã¢ã¤ã³ã³ã表示ãããããã«ã®èæ¯è²ã¯æ°´è²ã«è¨å®ããã¾ãããã msgType
弿°ãã¾ã£ããè¨å®ããã¦ããªãå ´åï¼ã¾ãã¯ç°ãªãå¤ã«è¨å®ããã¦ããå ´åï¼ãã³ã¼ãã® else { }
ã®é¨åãæå¹ã«ãªããæ®µè½ã«ã¯æ¢å®ã®ããã£ã³ã°ãæå®ãããã¢ã¤ã³ã³ã¯è¡¨ç¤ºããããããã«ã®èæ¯è²ãè¨å®ããã¾ããããã㯠msgType
弿°ãæå®ãããªãã£ãå ´åã®æ¢å®ã®ç¶æ
ãæä¾ãããã®ã§ã弿°ãçç¥å¯è½ã§ãããã¨ãæå³ãã¦ãã¾ãã
æ´æ°ããã颿°ããã¹ããã¾ãããããã® displayMessage()
å¼ã³åºããæ´æ°ãã¦ãã ããã
displayMessage("ãããããã¯éãã¡ãã»ã¼ã¸ã§ãã");
ãããã®ãã¡ã®ã©ã¡ããã«ãã¾ãããã
displayMessage("åä¿¡ç®±ãã»ã¼ä¸æ¯ã§ããã¡ã¼ã«ãåé¤ãã¦ãã ãã", "warning");
displayMessage("ãã©ã¤ã¢ã³: ãããå
æ°ï¼", "chat");
ï¼ä»ã¯ããã§ããªãã§ããï¼å°ããªæ©è½ãã©ãã»ã©æçãªãã®ã«ãªãã¤ã¤ããããããããããã ããã¨æãã¾ãã
ã¡ã¢: ãµã³ãã«ããã¾ãåä½ããããã¨ãã§ããªãå ´åã¯ãã³ã¼ãã GitHub ã®å®æãã¼ã¸ã§ã³ã¨æ¯è¼ãã¦ï¼ã©ã¤ãã§ç¢ºèªãã¦ãã ããï¼ãã§ãã¯ãã¦ãã ããããããã¯ç§ãã¡ã«ãã«ããä¾é ¼ãã¦ãã ããã
ã¹ãã«ãã¹ããã®è¨äºã®æå¾ã«éãã¾ããããæã大åãªæ å ±ãè¦ãã¦ãã¾ããï¼æ¬¡ã«é²ãåã«ããã®æ å ±ã身ã«ä»ãããã©ããã確èªãããã¹ããããã¾ããã¹ãã«ãã¹ã: 颿°ãè¦ã¦ãã ããããã®ãã¹ãã¯æ¬¡ã®è¨äºã§ã«ãã¼ãã¦ããã¹ãã«ãæ±ãã¦ãã¾ãã®ã§ããã¹ãã®åã«ãã¡ããèªãã»ããè¯ãããããã¾ããã
ã¾ã¨ãæå¾ã¾ã§ãã¾ãããããã§ã¨ããããã¾ãããã®è¨äºã§ã¯ãå®ç¨çãªã«ã¹ã¿ã 颿°ãä½ãä¸ããããã®å ¨ããã»ã¹ã示ãã¾ããããããã¯ããå°ã使¥ãããã¨ã§å®éã®ããã¸ã§ã¯ãã«å¿ç¨ãããã¨ãã§ãã¾ããæ¬¡ã®è¨äºã§ã¯ã颿°ã®ããã²ã¨ã¤ã®éè¦ãªé¢é£æ¦å¿µã§ããè¿å¤ã«ã¤ãã¦èª¬æãã¾ãã
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4