以下のコードで構文に関して何を変更できるか、または非表示のトークンがどのブラウザーでも表示されないようにする (非表示になる) かについてのヘルプ (提案) を探しています。IE7 で以下のコードに問題はありません。一方、ChromeまたはFirefox.IE10は何かが気に入らず、隠しトークンが画面に表示されます
<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c" %>
<script type="text/javascript">
WF.onWRIAReady({},
function() {
WF.onDOMReady(addCsrfToken);
});
function addCsrfToken() {
var csrf = '<c:out value="${sessionScope['csrfToken']}" />';
//alert(csrf);
for (var i = 0; i < document.forms.length; i++) {
currentForm = document.forms[i];
addHiddenInputField(currentForm, "csrfToken", csrf);
}
}
function addHiddenInputField(formElement, fieldName, fieldValue) {
var existingElement = null;
for (var i = 0; i < formElement.elements.length; i++) {
if (formElement.elements[i].name == fieldName) {
existingElement = formElement.elements[i];
break;
}
}
if (existingElement == null) {
var inputElement = document.createElement("input");
inputElement.setAttributeNode(createHtmlAttribute("type", "hidden"));
inputElement.setAttributeNode(createHtmlAttribute("name", fieldName));
inputElement.setAttributeNode(createHtmlAttribute("id", fieldName));
inputElement.setAttributeNode(createHtmlAttribute("value", fieldValue));
formElement.appendChild(inputElement);
}
else {
existingElement.value = fieldValue;
}
}
function createHtmlAttribute(name, value) {
var attribute = document.createAttribute(name);
attribute.nodeValue = value;
return attribute;
}
私の質問について何か助けてくれてありがとう