| 228 | | if (firemobilesimulator.common.carrier.AU == carrier) { |
| 229 | | // HDML暫定対応 |
| 230 | | var hdmls = ndDocument.getElementsByTagName("hdml"); |
| 231 | | if (hdmls.length >= 1) { |
| 232 | | var nodisplays = hdmls[0].getElementsByTagName("nodisplay"); |
| 233 | | for (var i = 0; i < nodisplays.length; i++) { |
| 234 | | var actions = nodisplays[i].getElementsByTagName("action"); |
| 235 | | for (var j = 0; j < actions.length; j++) { |
| 236 | | var task = actions[j].getAttribute("task"); |
| 237 | | var dest = actions[j].getAttribute("dest"); |
| 238 | | if (task.toUpperCase() == "GO" && dest) { |
| 239 | | dump("[msim]Debug : hdml go <" + dest + ">\n"); |
| 240 | | ndDocument.location.href = dest; |
| 241 | | return; |
| 242 | | } |
| 243 | | } |
| 244 | | } |
| 245 | | } |
| 246 | | |
| 247 | | // WML暫定対応 |
| 248 | | var oneventTags = ndDocument.getElementsByTagName("wml:onevent"); |
| 249 | | for (var i = 0; i < oneventTags.length; i++) { |
| 250 | | dump("wml:onevent found:" + i + "\n"); |
| 251 | | var onevent = oneventTags[i]; |
| 252 | | var type = onevent.getAttribute("type"); |
| 253 | | if (type == "onenterforward") { |
| 254 | | var goTags = onevent.getElementsByTagName("wml:go"); |
| 255 | | for (var j = 0; j < goTags.length; j++) { |
| 256 | | dump("wml:go found:" + j + "\n"); |
| 257 | | var go = goTags[j]; |
| 258 | | var href = go.getAttribute("href"); |
| 259 | | if (href) { |
| 260 | | dump("onenterforward go:" + href + "\n"); |
| 261 | | ndDocument.location.href = href; |
| 262 | | } |
| 263 | | } |
| 264 | | } |
| 265 | | } |
| 266 | | var wmlAnchorTags = ndDocument.getElementsByTagName("wml:anchor"); |
| 267 | | for (var i = 0; i < wmlAnchorTags.length; i++) { |
| 268 | | var anchor = wmlAnchorTags[i]; |
| 269 | | var spawnTags = anchor.getElementsByTagName("wml:spawn"); |
| 270 | | for (var j = 0; j < spawnTags.length; j++) { |
| 271 | | var spawn = spawnTags[j]; |
| 272 | | var href = spawn.getAttribute("href"); |
| 273 | | if (href) { |
| 274 | | dump("wml:anchor->wml:spawn found. set link:" + href |
| 275 | | + "\n"); |
| 276 | | // spawn.addEventListener("click", |
| 277 | | // function() {ndDocument.location.href=href;}, |
| 278 | | // false); |
| 279 | | spawn.innerHTML = '<a href="' + href + '">' |
| 280 | | + spawn.innerHTML + "</a>"; |
| 281 | | } |
| 282 | | } |
| 283 | | } |
| 284 | | |
| 285 | | //auのみDOMロード後に絵文字変換を行う |
| 286 | | var pictogramConverterEnabled = firemobilesimulator.common.pref |
| 287 | | .getBoolPref("msim.config." + carrier |
| 288 | | + ".pictogram.enabled"); |
| 289 | | if (pictogramConverterEnabled) { |
| 290 | | dump("[msim]convert pictogram in overlay.js\n"); |
| 291 | | var mpc = firemobilesimulator.mpc.factory(carrier); |
| 292 | | mpc.setImagePath("chrome://msim/content/emoji"); |
| 293 | | var imgs = ndDocument.getElementsByTagName("img"); |
| 294 | | for (var i = 0; i < imgs.length; i++) { |
| 295 | | var iconno = imgs[i].getAttribute("localsrc") |
| 296 | | || imgs[i].getAttribute("icon"); |
| 297 | | if (iconno && !isNaN(iconno)) { |
| 298 | | imgs[i].setAttribute("src", mpc.getImageSrc(parseInt( |
| 299 | | iconno, 10))); |
| 300 | | } else if (iconno) { |
| 301 | | iconno = mpc.getIconNumFromIconName("_" + iconno); |
| 302 | | if (iconno) { |
| 303 | | imgs[i] |
| 304 | | .setAttribute("src", mpc |
| 305 | | .getImageSrc(iconno)); |
| 306 | | } |
| 307 | | } |
| 308 | | |
| 309 | | } |
| 310 | | } |
| 311 | | |
| 312 | | //accesskey対応 |
| 313 | | ndDocument.addEventListener("keyup", function (e) { |
| 314 | | var anchorTags = this.getElementsByTagName("a"); |
| 315 | | for (var i = 0; i < anchorTags.length; i++) { |
| 316 | | var anchorTag = anchorTags[i]; |
| 317 | | var accesskey = anchorTag.getAttribute("accesskey"); |
| 318 | | if (accesskey && accesskey.match(/^(\d|\*|\#)$/)) { |
| 319 | | accesskey = accesskey.charCodeAt(0); |
| 320 | | if(e.keyCode == accesskey){ |
| 321 | | anchorTag.focus(); |
| 322 | | var evt = document.createEvent("MouseEvents"); |
| 323 | | evt.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null); |
| 324 | | anchorTag.dispatchEvent(evt); |
| 325 | | } |
| 326 | | } |
| 327 | | } |
| 328 | | }, false); |
| 329 | | } |
| 330 | | |
| 331 | | if (firemobilesimulator.common.carrier.DOCOMO == carrier) { |
| 332 | | |
| 333 | | var setUtnFunction = function(e) { |
| 334 | | dump("[msim]click utn\n"); |
| 335 | | if (true == confirm(firemobilesimulator.overlay.strings |
| 336 | | .getString("msim_utnConfirmation"))) { |
| 337 | | firemobilesimulator.common.pref.setBoolPref( |
| 338 | | "msim.temp.utnflag", true); |
| 339 | | } |
| 340 | | return true; |
| 341 | | }; |
| 342 | | |
| 343 | | var setLcsFunction = function(e) { |
| 344 | | dump("[msim]click lcs\n"); |
| 345 | | if (true == confirm(firemobilesimulator.overlay.strings |
| 346 | | .getString("msim_lcsConfirmation"))) { |
| 347 | | firemobilesimulator.common.pref.setBoolPref( |
| 348 | | "msim.temp.lcsflag", true); |
| 349 | | return true; |
| 350 | | } else { |
| 351 | | return false; |
| 352 | | } |
| 353 | | }; |
| 354 | | |
| 355 | | firemobilesimulator.common.pref.setBoolPref("msim.temp.utnflag", |
| 356 | | false); |
| 357 | | firemobilesimulator.common.pref.setBoolPref("msim.temp.lcsflag", |
| 358 | | false); |
| 359 | | |
| 360 | | var anchorTags = ndDocument.getElementsByTagName("a"); |
| 361 | | for (var i = 0; i < anchorTags.length; i++) { |
| 362 | | var anchorTag = anchorTags[i]; |
| 363 | | var utn = anchorTag.getAttribute("utn"); |
| 364 | | if (null != utn) { |
| 365 | | anchorTag.addEventListener("click", setUtnFunction, false); |
| 366 | | } |
| 367 | | |
| 368 | | var lcs = anchorTag.getAttribute("lcs"); |
| 369 | | if (null != lcs) { |
| 370 | | dump("setlcs for a tag\n"); |
| 371 | | anchorTag.addEventListener("click", setLcsFunction, false); |
| 372 | | } |
| 373 | | } |
| 374 | | |
| 375 | | //accesskey対応 |
| 376 | | ndDocument.addEventListener("keyup", function (e) { |
| 377 | | var anchorTags = this.getElementsByTagName("a"); |
| 378 | | for (var i = 0; i < anchorTags.length; i++) { |
| 379 | | var anchorTag = anchorTags[i]; |
| 380 | | var accesskey = anchorTag.getAttribute("accesskey"); |
| 381 | | if (accesskey && accesskey.match(/^(\d|\*|\#)$/)) { |
| 382 | | accesskey = accesskey.charCodeAt(0); |
| 383 | | if(e.keyCode == accesskey){ |
| 384 | | anchorTag.focus(); |
| 385 | | var evt = document.createEvent("MouseEvents"); |
| 386 | | evt.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null); |
| 387 | | anchorTag.dispatchEvent(evt); |
| 388 | | } |
| 389 | | } |
| 390 | | } |
| 391 | | }, false); |
| 392 | | |
| 393 | | // formのUTN送信 |
| 394 | | // uid=NULLGWDOCOMOのPOST送信 |
| 395 | | // オープンiエリアの場合のメソッドを強制的にGETに書き換え |
| 396 | | // ##本当はhttp-on-modify-requestで書き換えたい## |
| 397 | | var formTags = ndDocument.getElementsByTagName("form"); |
| 398 | | for (var i = 0; i < formTags.length; i++) { |
| 399 | | var formTag = formTags[i]; |
| 400 | | |
| 401 | | // UTNセット |
| 402 | | var utn = formTag.getAttribute("utn"); |
| 403 | | if (null != utn) { |
| 404 | | formTag.addEventListener("submit", setUtnFunction, false); |
| 405 | | } |
| 406 | | |
| 407 | | var lcs = formTag.getAttribute("lcs"); |
| 408 | | if (null != lcs) { |
| 409 | | dump("setlcs for form tag\n"); |
| 410 | | formTag.addEventListener("submit", setLcsFunction, false); |
| 411 | | } |
| 412 | | |
| 413 | | // オープンiエリアの場合のメソッドを強制的にGETに書き換え |
| 414 | | var action = formTag.getAttribute("action"); |
| 415 | | if (action && action == "http://w1m.docomo.ne.jp/cp/iarea") { |
| 416 | | formTag.setAttribute("method", "GET"); |
| 417 | | } |
| 418 | | |
| 419 | | // uid=NULLGWDOCOMOのPOST送信 |
| 420 | | var method = formTag.getAttribute("method"); |
| 421 | | if (method && method.toUpperCase() == "POST") { |
| 422 | | var inputTags = formTag.getElementsByTagName("input"); |
| 423 | | for (var j = 0; j < inputTags.length; j++) { |
| 424 | | var inputTag = inputTags[j]; |
| 425 | | var key = inputTag.getAttribute("name"); |
| 426 | | var value = inputTag.value; |
| 427 | | if (key && value && key.toUpperCase() == "UID" |
| 428 | | && value.toUpperCase() == "NULLGWDOCOMO") { |
| 429 | | dump("replace uid\n"); |
| 430 | | var uid = firemobilesimulator.common.pref |
| 431 | | .copyUnicharPref("msim.config.DC.uid"); |
| 432 | | inputTag.value = uid; |
| 433 | | } |
| 434 | | } |
| 435 | | } |
| 436 | | } |
| 437 | | } |
| 438 | | if (firemobilesimulator.common.carrier.SOFTBANK == carrier) { |
| 439 | | //accesskey対応 |
| 440 | | ndDocument.addEventListener("keyup", function (e) { |
| 441 | | var anchorTags = this.getElementsByTagName("a"); |
| 442 | | for (var i = 0; i < anchorTags.length; i++) { |
| 443 | | var anchorTag = anchorTags[i]; |
| 444 | | var accesskey = anchorTag.getAttribute("accesskey") || anchorTag.getAttribute("directkey"); |
| 445 | | if (accesskey && accesskey.match(/^(\d|\*|\#)$/)) { |
| 446 | | accesskey = accesskey.charCodeAt(0); |
| 447 | | if(e.keyCode == accesskey){ |
| 448 | | anchorTag.focus(); |
| 449 | | var evt = document.createEvent("MouseEvents"); |
| 450 | | evt.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null); |
| 451 | | anchorTag.dispatchEvent(evt); |
| 452 | | } |
| 453 | | } |
| 454 | | } |
| 455 | | }, false); |
| 456 | | } |
| | 204 | var contentHandler = firemobilesimulator.contentHandler.factory(carrier); |
| | 205 | contentHandler && contentHandler.filter(ndDocument, id); |