Я применил решение для определения имен Javascript на основе этого ответа на другой вопрос: Как объявить пространство имен в JavaScript?
Позвольте называть это isigma-ns.js:
var ISIGMA = {
messages: {
noValidId: "No valid ID found",
reason: "Reason",
// etc...
},
language: "ca",
SIGN: 2,
PAUSE: 400,
params: {},
init: function(params) {
// etc...
},
delay: function(callback) {
// etc...
},
// etc...
signURL: function(cert, url) {
// etc...
}
};
Я включаю этот script на мою страницу, а также другие вещи:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<title>Isigma Signature Widget</title>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8"/>
<!-- Required javascript and styles for isigma widget-->
<script type="text/javascript" src="/isme/media/signwidget/jquery-1.4.4.min.js"></script>
<script type="text/javascript" src="/isme/media/signwidget/isigma-ns.js"></script>
<script type="text/javascript">
$(function(){
$("#applet").isigmaSignatureApplet({
purpose: ISIGMA.SIGN,
url: the_url,
language: 'es'
});
});
</script>
... и т.д...
Он отлично работает в Firefox, IE8, Chrome, Opera... но не работает в IE7 с сообщением "ISIGMA не определено" - ссылаясь на строку, где я делаю ссылку на ISIGMA.SIGN
.
Любые намеки на то, что здесь может быть неправильным? Что-то не так с порядком обработки IE7 файлов Javascript? Любое другое предположение?
Примечание: для полной ссылки все работает в http://app.portasigma.com/isme/signwidget/iframe/, а JS файл пространства имен действительно называется http://app.portasigma.com/isme/media/signwidget/jquery-isigmaWidget.js