Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1

    Incompatibilita asp javascript su mozilla firefox

    Dunque, vediamo se riesco a farmi capire.

    Ho un file.js incluso in una pagina asp e fin qui tutto bene

    Il problema è il seguente:

    Mentre su IE non ho nessun problema a visualizzare le funzioni del js sia con estensione .asp che con .html

    Con Firefox, la stessa pagina funziona solo con estensione .html e non .asp

    Mi viene da pensare che il problema si in una variabile che devo richiamare ad un certo punto della pagina

    codice:
    <script type="text/javascript">
    
      var f = new ThreeOhScroll('filter');
    
    </script>


    Chi può aiutarmi ?

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    l' estensione di per se' non comporta alcuna differenza per javascript

    ci sara' qualche operazione lato server che chiaramente non viene eseguita con estensione html,
    sicuramente senza vedere le pagine in questione e' impossibile determinare il problema

  3. #3
    Grazie per la risposta immediata.

    Nella pagina di persè non vi è nulla ancora di asp.

    Ne variabili, en condizioni, ne recordset, solo, la stringa di inizializzazione

    <%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>

    il resto sono div css e xhtml

    ti posso postare il codice contenuto nell'include js se può servire

    codice:
    ThreeOhScroll.mo5 = navigator.userAgent.indexOf("Gecko") != -1
    ThreeOhScroll.ie4 = navigator.appName == "Microsoft Internet Explorer" && document.all
    ThreeOhScroll.ie5 = navigator.appName == "Microsoft Internet Explorer" && document.getElementById
    ThreeOhScroll.pc = navigator.platform == "Win32"
    
    // this number is for ie4 pc only - which cannot have the description box be of variable width (or atleast i can't figure out how to).
    // you set the number of pixels that the desc tag will be permanently.
    ThreeOhScroll.ie4pcDescWidth = 100
    
    // i have no idea why this number is necessary, it just is. it is related to how far the scroller is from the top of the window
    // in mozilla, but you will have to play with it to get it just right.
    ThreeOhScroll.mozAdjust = ThreeOhScroll.mo5 ? 75 : 0
    
    // this is how long it should take the scroller to animate when the user clicks a marker (in milliseconds)
    ThreeOhScroll.aniLen = 250
    
    
    function ThreeOhScroll(id)
    {
    	if (ThreeOhScroll.mo5 || (ThreeOhScroll.ie4 && ThreeOhScroll.pc) || ThreeOhScroll.ie5) {
    		this.id = id
    		this.getMembers()
    
    		if (ThreeOhScroll.ie4 && !ThreeOhScroll.ie5 && ThreeOhScroll.pc) this.description.style.width = ThreeOhScroll.ie4pcDescWidth
    
    		this.clipH		= parseInt(this.container.style.height)
    		this.PTags		= ypGetDescendantsByTagName("P", this.content)
    		var lastP		= this.PTags[this.PTags.length-1]
    		var lastPTop	= lastP.offsetTop - ThreeOhScroll.mozAdjust
    		this.docH		= lastPTop + Math.max(lastP.offsetHeight, this.clipH)
    		this.scrollH	= this.docH - this.clipH
    		//this.markersMax	= parseInt(this.markers.style.height) - 7
    		this.thumbMax	= parseInt(this.thumbContainer.style.height) - this.thumbImg.height
    		//this.arrowMax	= parseInt(this.arrowContainer.style.height) - this.arrowImg.height
    		
    		this.gRef = "ThreeOhScroll_"+id
    		eval(this.gRef+"=this")
    		this.thumb.obj	= this
    		this.thumb.onmousedown = this.startDrag
    		this.thumb.onmouseover = Function(this.gRef + ".toggleThumb(1)")
    		this.thumb.onmouseout  = Function(this.gRef + ".toggleThumb(0)")
    		this.thumb.onmouseup   = Function(this.gRef + ".toggleThumb(0)")
    		this.thumb.ondragstart = function() { return false }
    		//this.initMarkers()
    	} else {
    		alert ('ha ha!\n\nThe ThreeOh scroller won\'t work for your browser. Don\'t you feel stupid??\n\n I suggest you go get a newer one.')
    	}
    }
    
    ThreeOhScroll.prototype.initMarkers = function() {
    	var shtml = "", sTitle, iTop
    	for (var i = 0; i < this.PTags.length; i++) {
    		sTitle	= this.PTags[i].getAttribute("description")
    		pTop	= this.PTags[i].offsetTop - ThreeOhScroll.mozAdjust
    		iTop	= Math.round(pTop * this.markersMax / this.scrollH)
    		if (sTitle && sTitle != "" && sTitle != null) {
    			shtml  += "<div id='" + this.id + "_marker_" + i + "' "
    			shtml  += "style='position:absolute; left:2px; top:" + (iTop + 2) + "px; "
    			shtml  += "width:5px; height:3px; clip:rect(0 5 3 0); background-color:#CCCCCC; z-index:3;'></div>"
    			shtml  += "<div style='position:absolute; left:0px; top:" + iTop + "px; "
    			shtml  += "cursor:pointer; cursor:hand; width:9px; height:7px; clip:rect(0 9 7 0); z-index:4;' " 
    			shtml  += "onmousedown='" + this.gRef + ".scrollTo(" + pTop + ")' "
    			shtml  += "onmouseover='" + this.gRef + ".toggleMarker(this, " + i + ", 1)' "
    			shtml  += "onmouseout='" + this.gRef + ".toggleMarker(this, " + i + ", 0)' "
    			shtml  += "description='" + sTitle.replace(/'/g, "|pos|") + "'>"
    			shtml  += "[img]x.gif[/img]</div>"
    		}
    	}
    	this.markers.innerHTML += shtml
    }
    
    ThreeOhScroll.prototype.getMembers = function() {
    	this.container=ypGetElementById('filterContainer');
    	this.content=ypGetElementById('filterContent');
    	this.markers=ypGetElementById('filterMarkers');
    	this.thumb=ypGetElementById('filterThumb');
    	this.arrow=ypGetElementById('filterArrow');
    	this.thumbImg=ypGetElementById('filterThumbImg');
    	this.arrowImg=ypGetElementById('filterArrowImg');
    	this.thumbContainer=ypGetElementById('filterThumbContainer');
    	this.arrowContainer=ypGetElementById('filterArrowContainer');
    	this.description=ypGetElementById('filterDescription');
    	this.descArrow=ypGetElementById('filterDescArrow');
    }
    
    ThreeOhScroll.prototype.startDrag = function(e) {
    	if (!e) e = window.event
    	var ey = e.pageY ? e.pageY : e.clientY
    	this.dragLastY = ey
    	this.dragStartOffset = ey - parseInt(this.style.top)
    	ThreeOhScroll.current = this.obj
    	document.onmousemove = this.obj.doDrag
    	document.onmouseup = this.obj.stopDrag
    	if (this.obj.aniTimer) window.clearInterval(this.obj.aniTimer)
    	return false;
    }
    
    ThreeOhScroll.prototype.doDrag = function(e) {
    	if (!e) e = window.event
    	var obj = ThreeOhScroll.current
    	var ey = (e.pageY ? e.pageY : e.clientY)
    	var dy = ey - obj.thumb.dragLastY
    	var ny = parseInt(obj.thumb.style.top) + dy
    	if (ny >= obj.thumbMax) obj.thumb.dragLastY = obj.thumbMax + obj.thumb.dragStartOffset
    	else if (ny < 0) obj.thumb.dragLastY = obj.thumb.dragStartOffset
    	else obj.thumb.dragLastY = ey
    	ny = Math.min(Math.max(ny, 0), obj.thumbMax)
    	obj.jumpTo(ny * obj.scrollH / obj.thumbMax)
    	return false;
    }
    
    ThreeOhScroll.prototype.stopDrag = function() {
    	this.onmousemove = null
    	this.onmouseup   = null
    	ThreeOhScroll.current.toggleThumb(0)
    }
    
    ThreeOhScroll.prototype.scrollTo = function(ny) {
    	this.endArrow = Math.round(ny * this.markersMax / this.scrollH)
    	this.startTime = (new Date()).getTime()
    	this.startPos = parseInt(this.content.style.top) * -1
    	this.endPos = ny
    	this.dist = this.endPos - this.startPos
    	this.accel = this.dist / ThreeOhScroll.aniLen / ThreeOhScroll.aniLen
    	if (this.aniTimer) this.aniTimer = window.clearInterval(this.aniTimer)
    	this.aniTimer = window.setInterval(this.gRef + ".scroll()", 10)
    }
    
    ThreeOhScroll.prototype.scroll = function() {
    	var now = (new Date()).getTime()
    	var elapsed = now - this.startTime
    	if (elapsed > ThreeOhScroll.aniLen) this.endScroll()
    	else {
    		var t = ThreeOhScroll.aniLen - elapsed
    		var ny = this.endPos - t * t * this.accel
    		this.jumpTo(ny)
    	}
    }
    
    ThreeOhScroll.prototype.endScroll = function() {
    	this.jumpTo(this.endPos)
    	this.arrow.style.top = this.endArrow
    	this.aniTimer = window.clearInterval(this.aniTimer)
    }
    
    ThreeOhScroll.prototype.jumpTo = function(ny) {
    	this.thumb.style.top	= Math.round(ny * this.thumbMax / this.scrollH)
    	//this.arrow.style.top	= Math.round(ny * this.arrowMax / this.scrollH)
    	this.content.style.top	= -ny
    }
    
    ThreeOhScroll.prototype.toggleMarker = function(oTrigger, markerNum, bOn) {
    	if (bOn) {
    		ypGetElementById(this.id + "_marker_" + markerNum).style.backgroundColor = "#444444"
    		if (this.curMarker) this.toggleMarker(this.curMarker, 0)
    		this.curMarker = markerNum
    		this.descArrow.style.top = parseInt(oTrigger.style.top) + 2 + "px"
    		this.description.style.left = "-400px"
    		this.description.style.top = "-400px"
    		this.description.innerHTML = oTrigger.getAttribute("description")
    		var w = document.all && !ThreeOhScroll.ie5 ? ThreeOhScroll.ie4pcDescWidth : this.description.offsetWidth
    		this.description.style.left = 259 - w + "px"
    		this.description.style.top = parseInt(oTrigger.style.top) - 1 + "px"
    		this.description.style.visibility = "visible"
    		this.descArrow.style.visibility = "visible"
    		this.container.style.left = "0px"
    	} else {
    		ypGetElementById(this.id + "_marker_" + markerNum).style.backgroundColor = "#cccccc"
    		this.curMarker = 0
    		this.description.style.visibility = "hidden"
    		this.descArrow.style.visibility = "hidden"
    	}
    }
    
    ThreeOhScroll.prototype.toggleThumb = function(bOn) {
    	//this.arrow.style.backgroundColor = this.thumb.style.backgroundColor = bOn ? "#7CDAFE" : "#5EBBE7"
    }
    
    function ypGetChildNodes(objParent) {
    	return (objParent.childNodes ? objParent.childNodes : objParent.children)
    }
    
    function ypGetElementById(id) {
    	return (document.getElementById ? document.getElementById(id) : document.all ? document.all[id] : false)
    }
    
    function ypGetDescendantsByTagName(sTag, objParent) {
    	return (objParent.getElementsByTagName ? objParent.getElementsByTagName(sTag) : objParent.all && objParent.all.tags ? objParent.all.tags(sTag) : false)
    }
    Grazie ancora

  4. #4
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    Originariamente inviato da alexba64
    solo, la stringa di inizializzazione

    <%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
    e sanza funzionerebbe?

  5. #5
    No, mannaggia, ci ho gia provato

  6. #6
    La bizzarria è che con Ie funziona con Mozilla no. Posso mandarti il link della stessa pagina salvata con le 2 estensioni defferenti e vuoi.

  7. #7
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    lascia i link, sicuramente aiutano

  8. #8
    Dunque

    I link sono questi:

    http://www.alexmedia.it/demo/outwork/default.asp

    http://www.alexmedia.it/demo/outwork/default.html

    Quello a cui serve lo script è muovere la scroll delle news in elenco

  9. #9
    aspetta, aspetta, la cosa curiosa è che ho rimosso per un attimo questa stringa
    <%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
    dalla pagina con estensione html (parliamo sempre di come si comporta con mozilla)
    poichè l'avevo salvata direttamente dal default.asp.

    Rimuovendo quella stringa, ma solo sul default.html non funziona piu.
    Devo rimetterla, allora va.

    Mentre che io la tolga o la metta sul default.asp, non cambia nulla

  10. #10
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    personalmente ignoro completamente asp/vbs
    se sia normale avere quella stringa a inizio pagina o i problemi che possa generare tenerla

    a intuito, in una pagina che non ne fa uso (.html) non dovrebbe trovarsi, specialmente prima del doctype che e' la prima direttiva da presentare al browser

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.