2014-09-26 2 views
0

Я работаю со всплывающим кодом на шаблоне. Я вставляю Java-скрипт и HTML-код в Тело каждой веб-страницы. У меня нет доступа к заголовку. Я могу сохранить коды в отдельном файле и называть его здесь.Как вызвать файл Javascript внутри тега тега

Я хотел бы написать коды в отдельном файле и называть его тегом body. Как это сделать. В настоящее время оба html-кода для всплывающих окон и Javascript для открытия всплывающего окна на странице загружаются, находятся в теге body и работают нормально. Я хотел бы сохранить минимальные коды в теге тела. Я хотел бы написать эти два набора кодов в другом файле и вызвать его в теге body (кстати, у меня должен быть код сеанса cookie здесь в теге body, так как на каждой странице есть другое имя файла cookie). Как и что мне нужно делать здесь? Благодаря!

<!--popup header--> 
    <div class="popUpTitle"> 
     <span style="float:left; font-family: Lucida Grande; font-weight: bold; font-size:24px;margin-left:9px; margin-top:5px; color: #353535;"> 
      Newsletter Sign Up 
     </span> 
     <span onClick="closePopUp()" > 
      <img alt="Close Popup" src="location/images/close.png" width="28px" height="27px"></span> 
    </div> 
<!--rest of the popup information--> 

Javascript внутри тела тега сразу после кода выше.

<script type="text/javascript"> 
var link; 
if(getCookie("was_here_before3")=="") { 
setTimeout(openPopUp, 3000); 
createCookie("was_here_before3", "yes"); 
} 

function createCookie(name, value, days) { 
var expires; 
if (days) { 
    var date = new Date(); 
    date.setTime(date.getTime() + (days * 60 * 1000)); 
    expires = "; expires=" + date.toGMTString(); 
} 
else { 
    expires = ""; 
} 
document.cookie = name + "=" + value + expires + "; path=/"; 
} 

function getCookie(c_name) { 
if (document.cookie.length > 0) { 
    c_start = document.cookie.indexOf(c_name + "="); 
    if (c_start != -1) { 
     c_start = c_start + c_name.length + 1; 
     c_end = document.cookie.indexOf(";", c_start); 
     if (c_end == -1) { 
      c_end = document.cookie.length; 
     } 
     return unescape(document.cookie.substring(c_start, c_end)); 
    } 
} 
return ""; 
} 

function openPopUp() { 
element = document.getElementById("background"); 
element.style.display = "block"; 
element = document.getElementById("popup"); 
element.style.display = "block"; 
} 

function closePopUp() { 
element = document.getElementById("popup"); 
element.style.display = "none"; 
element = document.getElementById("background"); 
element.style.display = "none"; 
} 

</script> 
+0

что не работает? –

+0

Сохраните код во внешнем js-файле и включите, где вы сейчас включаете сразу после кода ... –

ответ

1

Вам не нужно ставить <script> в <head>, вы можете просто положить его в любом месте. Вы можете сделать это, просто изменив <script> тег к этому:

<script type="text/javascript" src="path/to/script.js"></script> 

Там нет необходимости делать что-нибудь еще, просто поместите исходный код указанного файла.

+0

Да, код будет работать так же, как если бы он был встроен. – Zenorbi

+0

Если вам нужен только HTML-код в качестве шаблона, вы можете сделать запрос XHR на сервер, чтобы получить шаблон как простой текст и использовать theElementThatPresentsTheCode.innerHTML = downloadedTemplate; для отображения HTML. – Zenorbi

+0

Что касается передачи параметров Javascript, вы можете использовать созданные сервером js с параметрами запроса или сделать все это на стороне клиента, вы можете использовать и обратитесь к окну.pageName в файле js. – Zenorbi

0

Вот способ решить эту проблему:

<html> 
<body> 
hi 
<script type="text/javascript"> 

your javascript stuff here! 

</script> 
</body> 
</html> 
Смежные вопросы