Я думаю, что проблема заключается в DOM и в том, что Internet Explorer, по-видимому, не выполняет встроенный JavaScipt.
Ожидание загрузки окна перед инициализацией, а затем добавление параметров в качестве дочерних (а не написание HTML), похоже, правильный путь.
В Firefox и Internet Explorer сработало следующее, как и ожидалось.
<html>
<head>
<script type="text/javascript">
listen(window, "load", "onload", initiate);
// called when the window finishes loading
function initiate() {
checkStuff();
}
function checkStuff() {
var myObj = document.getElementById("myObj");
var elm = document.createElement('param');
if (window.location.search.indexOf("stuff") >= 0){
elm.setAttribute("name", "param1");
elm.setAttribute("value", "true");
} else {
elm.setAttribute("name", "param2");
elm.setAttribute("value", "true");
}
myObj.appendChild(elm);
}
// just a simple function to attach events to objects
function listen(obj, event_normal, event_alt, func) {
if (obj.attachEvent) {
obj.attachEvent(event_alt, func);
} else if (obj.addEventListener) {
obj.addEventListener(event_normal, func, false);
} else {
obj.addEventListener(event_normal, func, false);
}
}
</script>
</head>
<body>
<object id="myObj"></object>
</body>
</html>