Как упомянуто, ленивая загрузка и задержанное выполнение
, Как LINQ к Объектам и LINQ к XML (IEnumerable) отличаются от LINQ до SQL (IQueryable)
КАК для создания Уровня доступа к данным, Бизнес-Слоя и Уровня представления с LINQ во всех слоях.... и хорошем примере.
Создайте литерал объекта:
var messages = {
welcome: "Welcome",
goodbye: "Goodbye",
error: "Something bad happend. Sowwy!"
};
На который вы затем можете ссылаться, например:
if (error) alert(messages.error);
Это отлично работает, если вы хотите реализовать несколько языков. Что я обычно делаю, так это включаю файл на стороне сервера, который отображает объект «сообщений» в соответствии с языком, выбранным в конфигурации приложения, или в соответствии с культурой пользовательского интерфейса (в случае ASP.NET).
Вот как вы могли бы использовать его, в строке:
<head>
<!-- messages.aspx renders out the object literal -->
<script type="text/javascript" src="messages.aspx"></script>
<script type="text/javascript">
/* when messages.aspx is included it provides you with an object literal
as a global variable. The example below would alert "Something bad
happend. Sowwy!" */
if (error) alert(messages.error);
</script>
</head>
Изящная вещь в использовании литерала объекта заключается в том, что код более подробный. Вместо того, чтобы использовать массив, например: alert (messages [0])
, вы делаете это: alert (messages.error)
, что является немного более пояснительным.
примечание: все ваши сообщения определены в одном объекте, вместо того, чтобы быть определенным набором переменных, что позволяет избежать загрязнения глобального пространства имен.
В JavaScript вы можете изменять объекты во время выполнения. Поэтому, если вы хотите добавить к объекту больше сообщений, позже в коде, вы просто сделаете это:
messages.newMessageAddedLaterOnInTheCode = "This is a new message";
Я вижу, что другие рассказали вам, как сохранить его в файле JS (как вы и просили). Но могу ли я предложить вам вместо этого сохранить его в файле XML? Управлять им несколько проще (IMO).
Создайте XML-файл с такими записями:
<text id="welcome_to_site">Welcome to our site!</text>
<text id="come_back_soon">Come back soon!</text>
Затем вы можете легко получить весь нужный текст в своем обычном JS / jQuery:
var text = new Object();
$.ajax({
async: false,
type: 'GET',
url: 'text.xml',
dataType: "xml",
success: function(xml){
$(xml).find('text').each(function(){
text[$(this).attr('id')] = $(this).text();
});
}
});
И вызвать некоторые text, это так просто:
alert (text ['welcome_to_site']);
И вы всегда можете легко изменить его в XML-файле: добавить текст, удалить текст, отредактировать текст. Все очень просто. Это также помогает разделить ваш дизайн и открывает двери для вас, позволяя другим редактировать текст, которые иначе не смогли бы сделать, если бы им пришлось сортировать кучу JavaScript.
Один из способов сделать это - добавить на страницу отдельный js-файл, который фактически указывает на серверный скрипт. Затем этот скрипт может отображать нужные вам строки следующим образом:
var STRINGS = {'greeting': "Hello", 'error': "Something went wrong"};
А на вашей веб-странице укажите следующее:
Мы делаем это для http://addons.mozilla.org здесь: http://addons.mozilla.org/en-US/firefox/pages/js_constants.js