Problema con popup


#1

hola lista, estoy usando ventanas popup en rails de la siguiente manera

<%= link_to image_tag("edit.png"), edit_books_path(x), :popup=>'subjects','width=500,height=500,toolbar=no,titlebar=no,status=no,left=500,top=300, scrollbars=yes']%>

y no consigo que se cierre la ventana cuando le doy a aceptar

en el metodo update al final tengo lo siguiente

render :update do |page|
page << eval(this.close():wink:
end

lo puse dentro del eval porque me daba este error
try {
this.close();
} catch (e) { alert(‘RJS error:\n\n’ + e.toString());
alert(‘this.close();’); throw e }

ya no me sale dicho error, pero sigue sin cerrarse la ventana.

alguna sugerencia???

gracias de antemano a todos.


#2

Buenas lista,

Esta mañana me levanto teniendo Rails 2.2.2 en rubygems y como estoy en
un proyecto que le queda poco para pasar a produccion y me gusta tenerlo
en la ultima estable, me puse manos a la obra.

Despues de pelearme adaptando el codigo gettext para usar el nuevo i18n,
me tope con un problema raro, no podia leer la cookie de sesion desde
javascript, pero solo en el firefox. Tras buscar, buscar y rebuscar me
puse sobre la pista de una “feature” inventada por microsoft para
protegernos de ataques maliciosos, las cookies HttpOnly.

Estas maravillosas cookies estan pensadas para que no se puedan leer
desde javascript y son del tipo que se usa ahora por defecto cuando
almacenamos las sesiones en cookies.

En principio no tiene por que haber problemas, por que ¿para que
querriamos leer desde javascript la cookie de sesion?.

Bueno en mi app tengo un applet de java que lee la cookie de sesion para
usarla en las peticiones que hace al servidor.

Si tienes un escenario parecido, y no puedes cambiar la logica de como
funciona tu app, puedes volver a las cookies normales
anyadiendo en tu environment.rb esto:

config.action_controller.session = {
:session_key => ‘_kk_session’,
:secret => ‘secret’,
:session_http_only => false # <= this line
}

Un saludo,
Y ya sabeis si no podeis leer una cookie desde javascript a lo mejor es
porque es http-only


#3

Buenas,

Prueba con cerrar el objeto window correspondiente en lugar de this (ten
en cuenta desde qué window llamas al close, desde la misma o desde
otra). Mira aquí ejemplo:
http://www.w3schools.com/htmldom/met_win_close.asp

Esa es mi página de consulta obligada de javascript, espero que te sirva.

Maite P.
escribió:

hola lista, estoy usando ventanas popup en rails de la siguiente manera


#4

hola jesus, gracias por responder mi mensaje

en realidad consigui cerrar el popup con el window.close() pero quiero
conseguir usar el render

<%= submit_tag "Aceptar", :onclick=>"window.close();"%>

<% form_for :book, :url => books_path() do |f| %>

<%= submit_tag "Cancelar", :onclick=>"window.close();"%> <% end %> ...............

he seguido buscando pero los enlaces que hay en este lista no me
resulven el problema ya que no hace nada.

he mirado las misma duda en este foro, enlaces [1] y [2]

[1] http://www.ruby-forum.com/topic/148370#new
[2] http://www.ruby-forum.com/topic/141691#new

pero sigo sin que me funcione

muchas gracias