В PHP я бы сохранил файл js как jeditable.js.php, а сервер скомпилировал бы код в теге.
Здесь нужно иметь в виду, что php теперь вынужден обрабатывать весь этот файл javascript при каждом запросе. Обычно это «плохая вещь» TM , и она использует ресурсы сервера, которые могут быть потрачены в другом месте.
Как уже упоминался в ответе Радж Кимал, то, что мы делаем в ASP.Net для максимально эффективного решения этой проблемы, - это создание короткого сценария, определенного внутри страницы, который ничего не делает, кроме как присваивает результат кода сервера переменным. Сделайте это до объявления других сценариев, и затем вы сможете напрямую использовать эти переменные в этих сценариях. Таким образом, вам не нужно выполнять любую дополнительную работу сервера для ваших внешних файлов JavaScript.
Я сделаю одно дополнение к ответу мистера Кимала. Часто лучше поместить эти переменные в объект, чтобы избежать коллизий имен. Примерно так:
<head runat="server">
<script language="javascript">
var ServerCreated = {
ArticleAction:'<%=Url.Action("UpdateSettings","Article") %>',
OtherVar:'some server data'
}
</script>
</head>
Тогда ваш файл jeditable.js
будет выглядеть так:
$(document).ready(function() {
$(".naslov_vijesti").editable(ServerCreated.ArticleAction, {
submit: 'ok',
submitdata: {field: "Title"},
cancel: 'cancel',
cssclass: 'editable',
width: '99%',
placeholder: 'emtpy',
indicator: "<img src='../../Content/img/indicator.gif'/>"
});
});