Dúvida sobre configuração de javascript

7 respostas
Emerzoom

Boa tarde pessoal,

Estou com uma dúvida de configuração de arquivos .js em aplicações Web.

Vou explicar:

Tenho uma aplicação Web, onde criei as páginas JSP e precisei fazer validações em Javascript. Dentro da pasta WebContent, além das páginas, tenho uma subpasta, onde coloco os arquivos .js.

Problema:

Qdo acesso a aplicação com o Firefox, tudo funciona perfeitamente, mas qdo acesso com o IE 7 ou 8, nenhum dos scripts funciona.

Pergunta:

É preciso fazer alguma configuração na aplicação para que o IE consiga interpretar o arquivo .js?

O erro que dá é:

Webpage error details

User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; .NET CLR 3.0.04506.648)
Timestamp: Mon, 14 Dec 2009 20:21:01 UTC


Message: Invalid argument.
Line: 432
Char: 2
Code: 0
URI: http://localhost:9080/ECF/scripts/utils.js

Desde já, agradeço a atenção de todos.

Abraços.

7 Respostas

gugaa_df

Amigo nem tudo que se faz em DHTML (html + javascript e CSS) roda perfeitamente em todos os browser.
Cabe a você tornar compatível. Por isto que existe bibliotecas de javascript chamadas Cross Browser (funciona em vários navegadores).
Seu problema está bem claro, está na linha 432

Emerzoom

Boa tarde gugaa,

Agradeço por responder.

Vc teria alguma boa dica de como fazer um Cross Browser?

Isso é alguma lib?

É cruel qdo vc faz tudo funcionar num browser e alguns não rola…hehe

Valeu mais uma vez.

Abraços.

C

Boa noite

Existem algumas formas de desenvolver javascript cross browser, bom se você usa javascript puro sem usar nenhuma lib ou framework você terá que estudar os codigos para garantir que tudo funcionará perfeitamente em todos os browsers, mas caso você possa usar frameworks e libs existe o jquery que ajuda muito nos codigos javascripts, fazendo que ele fique compativel com diversos browsers do mercado.

Falou.

gugaa_df

Amigo não existe uma solução mágica, vc terá que procurar as diferenças de javascript entre os browsers.
A melhor dica que eu te dou é como o Caio falou, usar bibliotecas javascript para isso, como Jquery por exemplo.
Se eu não estiver usando JSF eu prefiro utilizar o DWR, e com JSF eu uso A4J

Emerzoom:
Boa tarde gugaa,

Agradeço por responder.

Vc teria alguma boa dica de como fazer um Cross Browser?

Isso é alguma lib?

É cruel qdo vc faz tudo funcionar num browser e alguns não rola…hehe

Valeu mais uma vez.

Abraços.

xjunior

Bom, aconselho vc a usar o jquery, que já possui suporte nativo a browsers comuns como o ie, netscape ou mozilla, opera, safari, etc…
e além de tudo, torna-se mais simples a implementação da sua lógica em javascript.
Analise e veja qual framework melhor se aplica a sua necessidade, se vai usar plugins, etc.
outra boa escolha é o mootools

B

Ola galera,
não sei se este é o melhor lugar para perguntar isto mais ai vai:

Estou desenvolvvendo uma aplicação web utilizando o JSF e RichFaces, mas encontrei a necessidade de precisar acessar um metodo Java dentro de um javaScript,
então estou tentando usar o DWR, mas ai que EMPACA tudo, não consigo configurar o projeto de modo que reconheça meu metodo e sempre da um alerta na pagina de que meu metodo não esta definido.
Abaixo segue o cabeçalho da pagina

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="f"  uri="http://java.sun.com/jsf/core"%>
<%@ taglib prefix="h"  uri="http://java.sun.com/jsf/html"%>
<%@ taglib prefix="rich" uri="http://richfaces.org/rich"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">

<script type="text/javascript"src="http://maps.google.com/maps?file=api&v=2&key=ABQIAAAAqYQpnj_x4lVPmK6WzaMY8RTjOPjemWptlhNVu08DUC4lD3ImFRQbrchQDwBA4o8a3HKWrvvtsDkZpg&sensor=true">
</script>

<script type="text/javascript" src="../js/mapas.js"> </script>
<script type="text/javascript" src="../js/actionFormPrincipal.js"> </script>
<!-- Imports necessários para o DWR -->
<script src='<%=request.getContextPath()%>/dwr/engine.js' type='text/javascript' ></script> 
<script src='<%=request.getContextPath()%>/dwr/util.js' type='text/javascript' ></script>
<script type='text/javascript' src='<%=request.getContextPath()%>/dwr/interface/MapaBean.js'></script>

<script type="text/javascript">
	//var referencia = new Object();
	//referencia.latitude = -22.8176144;
	//referencia.longitude = -47.0711507;

	MapaBean.testePrint(function(data) {alert(data);});
</script>

<title>Shortcut Map</title>
</head>
.... mais codigo da pagina abaixo....

Alguem tem alguma luz pra me dar ou indicar um bom tutorial, pois o da pagina oficial do DWR é muito vago

Abraços e grato pela atenção

B

…RESOLVI…
Consegui resolver meu problema, na verdade meu web.xml estava faltando um argumento rsrs…vou colocar postar como ele ficou, caso ajude alguem, não sei se esta é a melhor configuração mas funciona…

<!--	 ...acima header padrão do web.xml... -->
<context-param>
		<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
		<param-value>client</param-value>
	</context-param>
	<!-- Configuracao para lib richFaces -->
	<context-param>
		<param-name>org.richfaces.SKIN</param-name>
		<param-value>blueSky</param-value>
	</context-param>
	<context-param>
		<param-name>org.richfaces.CONTROL_SKINNING</param-name>
		<param-value>enable</param-value>
	</context-param>
	
	<filter>
		<display-name>RichFaces Filter</display-name>
		<filter-name>richfaces</filter-name>
		<filter-class>org.ajax4jsf.Filter</filter-class>
	</filter>
	<filter-mapping>
		<filter-name>richfaces</filter-name>
		<servlet-name>Faces Servlet</servlet-name>
		<dispatcher>REQUEST</dispatcher>
		<dispatcher>FORWARD</dispatcher>
		<dispatcher>INCLUDE</dispatcher>
	</filter-mapping>
	
	<listener>
		<listener-class>com.sun.faces.config.ConfigureListener</listener-class>
	</listener>

	<!-- Faces Servlet -->
	<servlet>
		<servlet-name>Faces Servlet</servlet-name>
		<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
		<load-on-startup>1</load-on-startup>
	</servlet>
<!--	 Mapeamento Faces Servlet -->
	<servlet-mapping>
		<servlet-name>Faces Servlet</servlet-name>
		<url-pattern>/faces/*</url-pattern>
	</servlet-mapping>
<!--	<servlet-mapping>-->
<!--		<servlet-name>Faces Servlet</servlet-name>-->
<!--		<url-pattern>*.jsf</url-pattern>-->
<!--	</servlet-mapping>	-->
	
	<!-- configurações para o DWR para acesso remoto a metodos de classe a partir de um javascript -->
	<servlet>
	<servlet-name>dwr-invoker</servlet-name>
	<servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
	<init-param>
		<param-name>config</param-name>
		<param-value>/WEB-INF/dwr.xml</param-value>
	</init-param>
	<init-param>
		<param-name>debug</param-name>
		<param-value>false</param-value>
	</init-param>
	<load-on-startup>1</load-on-startup>
	</servlet>
	<servlet-mapping>
		<servlet-name>dwr-invoker</servlet-name>
		<url-pattern>/dwr/*</url-pattern>
	</servlet-mapping>

	<filter>
		<filter-name>DwrFacesFilter</filter-name>
		<filter-class>org.directwebremoting.faces.FacesExtensionFilter</filter-class>
	</filter>
	<filter-mapping>
		<filter-name>DwrFacesFilter</filter-name>
		<url-pattern>/dwr/*</url-pattern>
	</filter-mapping>

</web-app>
Criado 14 de dezembro de 2009
Ultima resposta 8 de mar. de 2010
Respostas 7
Participantes 5