Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > ошибка при открытии окна


Автор: pythonwin 2.11.2006, 08:08
Всем привет!
у меня есть функция открытия окна при выполнении которой иногда выскакивает ошибка
Код

<script TYPE="text/javascript">
function OnClickRow(extraparam,id)
{
    OpenWin(extraparam+id)
    }

function OpenWin(StrUrl) {
var dt1 = new Date()
s=dt1.getDate()+'_'+dt1.getMonth()+'_'+dt1.getFullYear()+'_'+dt1.getHours()+'_'+dt1.getMinutes()+'_'+dt1.getMilliseconds()
myWin = open(StrUrl, "popUpWin"+s, "width=" + screen.width+ ", height=" + screen.height + ", status=yes, toolbar=yes, menubar=yes, location=yes, scrollbars=yes, resizable=yes");
    }
</SCRIPT>


Ошибка: [Exception... "'Permission denied to get property XULElement.accessKey' when calling method: [nsIDOMXULLabelElement::accessKey]"  nsresult: "0x8057001e (NS_ERROR_XPC_JS_THREW_STRING)"  location: "JS frame :: ссылка :: OpenWin :: line 59"  data: no]


окно открывает, но вот потом из дочернего окна окно не открывает. иногда цепочка бывает длинее.

Автор: pythonwin 2.11.2006, 09:15
немного изменил
Код

function OnClickRow(extraparam,id)
{
    OpenWin(extraparam+id)
    }

function OpenWin(StrUrl) {
var dt1 = new Date();
s=dt1.getDate()+'_'+dt1.getMonth()+'_'+dt1.getFullYear()+'_'+dt1.getHours()+'_'+dt1.getMinutes()+'_'+dt1.getMilliseconds();
myWin = window.open(StrUrl, "popUpWin"+s, "width=" + screen.width+ ", height=" + screen.height + ", status=yes, toolbar=yes, menubar=yes, location=yes, scrollbars=yes, resizable=yes");
    }


а StrUrl == "http://tram1:9999/Trams1?id1=1&a1=78&a2=789ggfg" короче в таком роде

Автор: Zeroglif 2.11.2006, 10:54
http://www.webdeveloper.com/forum/showthread.php?t=111889

Автор: pythonwin 2.11.2006, 11:04
Цитата(Zeroglif @  2.11.2006,  17:54 Найти цитируемый пост)
http://www.webdeveloper.com/forum/showthread.php?t=111889 

немного не понял - там решили проблему и как?

Добавлено @ 11:10 
вставил кавычки для 'yes' и 'no'

Код

function OnClickRow(extraparam,id)
{
    OpenWin(extraparam+id)
    }

function OpenWin(StrUrl) {
var dt1 = new Date();
s=dt1.getDate()+'_'+dt1.getMonth()+'_'+dt1.getFullYear()+'_'+dt1.getHours()+'_'+dt1.getMinutes()+'_'+dt1.getMilliseconds();
myWin = window.open(StrUrl, "popUpWin"+s, "width='" + screen.width+ "', height='" + screen.height + "', status='yes', toolbar='yes', menubar='yes', location='yes', scrollbars='yes', resizable='yes'");
    }

но ошибка осталась

Добавлено @ 11:13 

Ошибка: [Exception... "'Permission denied to get property XULElement.accessKey' when calling method: [nsIDOMXULLabelElement::accessKey]"  nsresult: "0x8057001e (NS_ERROR_XPC_JS_THREW_STRING)"  location: "JS frame :: ссылка :: OpenWin :: line 43"  data: no]

Автор: dstorm81 2.11.2006, 12:14
Код

<script>
function OnClickRow(extraparam,id)
{
    OpenWin(extraparam+id)
    }
function OpenWin(StrUrl) {
var dt1 = new Date();
s=dt1.getDate()+'_'+dt1.getMonth()+'_'+dt1.getFullYear()+'_'+dt1.getHours()+'_'+dt1.getMinutes()+'_'+dt1.getMilliseconds();
myWin = window.open(StrUrl, "popUpWin"+s, "width='" + screen.width+ "', height='" + screen.height + "', status='yes', toolbar='yes', menubar='yes', location='yes', scrollbars='yes', resizable='yes'");
    }
</script>
<input type="button" onclick=OnClickRow('qwe','qq')>

вот так вроде в лисе2 открывает, а что в параметрах передается OnClickRow('qwe','qq') <- переводив строки через new String или чем нибудь подобным.
удачи

Автор: pythonwin 2.11.2006, 12:41
Цитата(dstorm81 @  2.11.2006,  19:14 Найти цитируемый пост)

вот так вроде в лисе2 открывает, а что в параметрах передается OnClickRow('qwe','qq') <- переводив строки через new String или чем нибудь подобным.
удачи

и в лисе 1,5 и в Mozilla 1.7 и в IE 6.+ (в ИЕ вообще всё прекрасно), а вот со стрингом - спасибо! smile

Изменил, но материться всё равно:
Код

function OnClickRow(extraparam,id)
{
    OpenWin(extraparam+id)
    }

function OpenWin(StrUrl) {
var dt1 = new Date();
StrUrl = new String(StrUrl)
//var StrUrl = new String(StrUrl)
s=dt1.getDate()+'_'+dt1.getMonth()+'_'+dt1.getFullYear()+'_'+dt1.getHours()+'_'+dt1.getMinutes()+'_'+dt1.getMilliseconds();
location='1', scrollbars='1', resizable='1'")
myWin = window.open(StrUrl, "popUpWin"+s, "width=" + screen.width+ ", height=" + screen.height + ", status='1', toolbar='1', menubar='1', location='1', scrollbars='1', resizable='1'");
    }


причем на 
myWin = window.open(StrUrl, "popUpWin"+s);
всё нормально и поэтому думаю. что проблема в 
Код

"width=" + screen.width+ ", height=" + screen.height + ", status='1', toolbar='1', menubar='1', location='1', scrollbars='1', resizable='1'"

Автор: dstorm81 2.11.2006, 13:11
Код

<script>
var qqq,qq;
function OnClickRow(extraparam,id)
{
    OpenWin(extraparam+id)
    }
function OpenWin(StrUrl) {
var dt1 = new Date();
StrUrl = new String(StrUrl)
s=dt1.getDate()+'_'+dt1.getMonth()+'_'+dt1.getFullYear()+'_'+dt1.getHours()+'_'+dt1.getMinutes()+'_'+dt1.getMilliseconds();
myWin = window.open(StrUrl,"popUpWin"+s,"width="+screen.width+", height="+screen.height+",status=1, toolbar=1, menubar=1, location=1, scrollbars=1, resizable=1");
    }
</script>
<input type="button" onclick=OnClickRow('http://www.ya.ru/index.php?','id1=1&amp;id2=2')>

вот, хлтя я честно не понял что ты сделать хочешь и откуда берешь аргументв для построения функции, и главное откуда ОНИ (из аттрибутов, из строки?)
давай полный код можно  наверняка сделать проще

Автор: pythonwin 2.11.2006, 13:16
использую вот так:
Код

<input type="button" onclick="javascript: OnClickRow('http://www.tram-tram:9999/MyTram1?a1=2&a2=',3)"/>


Автор: dstorm81 2.11.2006, 13:22
Код

<script>
var OpenWin=function(p1,p2)
{
var dt1=new Date();
StrUrl=new String(p1+''+p2);    
s=dt1.getDate()+'_'+dt1.getMonth()+'_'+dt1.getFullYear()+'_'+dt1.getHours()+'_'+dt1.getMinutes()+'_'+dt1.getMilliseconds();myWin = window.open(StrUrl,"popUpWin"+s,"width="+screen.width+", height="+screen.height+",status=1, toolbar=1, menubar=1, location=1, scrollbars=1, resizable=1");
}
</script>
<input type="button" onclick="OpenWin('http://www.ya.ru:8080/MyTram1?a1=2&a2=',3)">

Автор: Zeroglif 2.11.2006, 13:23
Цитата(pythonwin @  2.11.2006,  11:04 Найти цитируемый пост)
немного не понял - там решили проблему и как?

Один из предложенных вариантов был - добавить атрибутом в вызывающий элемент accessKey="что-нибудь". Я бы ещё попробовал убрать из open() всю динамику. Сохрани имя окна и размеры заранее в переменные, чтобы уже ничего внутри open() не шевелилось...

Автор: dstorm81 2.11.2006, 13:59
сорри, ты же XUL приложение пишешь, тогда тебе действительно по ссылке 
Zeroglif надо копать...

Автор: pythonwin 2.11.2006, 14:11
Код

function OnClickRow(extraparam,id)
function OnClickRow(extraparam,id)
{
    OpenWin(extraparam,id)
    }

var OpenWin=function(p1,p2)
{
var dt1=new Date();
var StrUrl=new String(p1+''+p2);    
s=dt1.getDate()+'_'+dt1.getMonth()+'_'+dt1.getFullYear()+'_'+dt1.getHours()+'_'+dt1.getMinutes()+'_'+dt1.getMilliseconds();
s1="width="+screen.width+", height="+screen.height+",status=1, toolbar=1, menubar=1, location=1, scrollbars=1, resizable=1"
myWin = window.open(StrUrl,"popUpWin"+s, s1);
}


но всё равно:

Ошибка: [Exception... "'Permission denied to get property XULElement.accessKey' when calling method: [nsIDOMXULLabelElement::accessKey]"  nsresult: "0x8057001e (NS_ERROR_XPC_JS_THREW_STRING)"  location: "JS frame :: http://trma1:9999/MainTrm1:: anonymous :: line 45"  data: no]


где http://trma1:9999/MainTrm1 - ссылка главной страницы, где срабатывает скрипт
StrUrl == "http://trma1:9999/tram1?a1=1&a2=2"


Цитата(Zeroglif @  2.11.2006,  20:23 Найти цитируемый пост)

Один из предложенных вариантов был - добавить атрибутом в вызывающий элемент accessKey="что-нибудь".

это как?
Код

window.accessKey="что-нибудь"

но тоже не срабатывает smile

Автор: pythonwin 3.11.2006, 09:28
сделал пока так:
Код

function OnClickRow(extraparam,id)
{
    OpenWin(extraparam+id)
    }

var OpenWin=function(StrUrl)
{
var dt1=new Date();
//var StrUrl=new String(p1+''+p2);    
s=dt1.getDate()+'_'+dt1.getMonth()+'_'+dt1.getFullYear()+'_'+dt1.getHours()+'_'+dt1.getMinutes()+'_'+dt1.getMilliseconds();
s1="width="+screen.width+", height="+screen.height+", status=yes, toolbar=yes, menubar=yes, location=yes, scrollbars=yes, resizable=yes"
if(document.all) {
myWin = window.open(StrUrl,"popUpWin"+s, s1);
}
else {
myWin = window.open(StrUrl,"popUpWin"+s);
}}

тестировал в ff 1.5, ie6+, mozilla 1.7 - ошибки нет.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)