Hola ser:
Estuve viendo el código, y encontré algunos fallos:
La sintexis de asignaciones condicionales en este caso sería así:
posiEnd = (barre != -1) ? barre : url.length;
La forma de poner la etiqueta "frame", no se si funciona de esa manera, te aconsejaría que la pusieras sin ser "script", y que usaras el script para hacer la asignacion al atributo "src".
Luego el uso de la función, no sé si está bien, pero tal vez tendrías que poner todo el código para poder evaluarlo mejor.
He notado que la puntuación no es del todo correcta ";" detrás de cada sentencia. (A veces no importa, pero es bueno acostumbrarse a usarlos.
Saludos