[prev in list] [next in list] [prev in thread] [next in thread] 

List:       lon-capa-cvs
Subject:    [LON-CAPA-cvs] cvs: loncom /interface lonhtmlcommon.pm  /xml scripttag.pm
From:       www <lon-capa-cvs () mail ! lon-capa ! org>
Date:       2004-09-29 14:50:43
Message-ID: cvswww1096469443 () cvsserver
[Download RAW message or body]

www		Wed Sep 29 10:50:43 2004 EDT

  Modified files:              
    /loncom/interface	lonhtmlcommon.pm 
    /loncom/xml	scripttag.pm 
  Log:
  Work-around for Safari bug regarding 'document.open', Bug #3449
  
  
Index: loncom/interface/lonhtmlcommon.pm
diff -u loncom/interface/lonhtmlcommon.pm:1.89 loncom/interface/lonhtmlcommon.pm:1.90
--- loncom/interface/lonhtmlcommon.pm:1.89	Fri Sep 10 13:58:01 2004
+++ loncom/interface/lonhtmlcommon.pm	Wed Sep 29 10:50:43 2004
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # a pile of common html routines
 #
-# $Id: lonhtmlcommon.pm,v 1.89 2004/09/10 17:58:01 banghart Exp $
+# $Id: lonhtmlcommon.pm,v 1.90 2004/09/29 14:50:43 www Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -525,6 +525,27 @@
     return $nothing;
 }
 
+##############################################
+##############################################
+sub javascript_docopen {
+    # safari does not understand document.open() and loads "text/html"
+    my $nothing = "''";
+    my $user_browser;
+    my $user_os;
+    $user_browser = $ENV{'browser.type'} if (exists($ENV{'browser.type'}));
+    $user_os      = $ENV{'browser.os'}   if (exists($ENV{'browser.os'}));
+    if (! defined($user_browser) || ! defined($user_os)) {
+        (undef,$user_browser,undef,undef,undef,$user_os) = 
+                           &Apache::loncommon::decode_user_agent();
+    }
+    if ($user_browser eq 'safari' && $user_os =~ 'mac') {
+        $nothing = "document.clear()";
+    } else {
+	$nothing = "document.open('text/html','replace')";
+    }
+    return $nothing;
+}
+
 
 ##############################################
 ##############################################
Index: loncom/xml/scripttag.pm
diff -u loncom/xml/scripttag.pm:1.117 loncom/xml/scripttag.pm:1.118
--- loncom/xml/scripttag.pm:1.117	Tue Sep 28 16:40:05 2004
+++ loncom/xml/scripttag.pm	Wed Sep 29 10:50:43 2004
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # <script> definiton
 #
-# $Id: scripttag.pm,v 1.117 2004/09/28 20:40:05 www Exp $
+# $Id: scripttag.pm,v 1.118 2004/09/29 14:50:43 www Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -117,7 +117,8 @@
 	    ($Apache::lonhomework::viewgrades == 'F')) {
 	    $Apache::lonxml::evaluate--;
 	    my (undef,undef,$udom,$uname)=&Apache::lonxml::whichuser();
-	    $result.="<script type=\"text/javascript\"> function \
LONCAPA_scriptvars_".$uname."_".$udom."_"."$Apache::lonxml::curdepth() \
{newWindow=open('','new_W','width=500,height=500,scrollbars=1,resizable=yes');newWindo \
w.document.open('text/html','replace');newWindow.document.writeln('<html><head><title>Script \
Vars</title></head><body bgcolor=\"#FFFFFF\"><pre>"; +	    my \
$windowopen=&Apache::lonhtmlcommon::javascript_docopen(); +	    $result.="<script \
type=\"text/javascript\"> function \
LONCAPA_scriptvars_".$uname."_".$udom."_"."$Apache::lonxml::curdepth() \
{newWindow=open('','new_W','width=500,height=500,scrollbars=1,resizable=yes');newWindow.$windowopen;newWindow.document.writeln('<html><head><title>Script \
Vars</title></head><body bgcolor=\"#FFFFFF\"><pre>";  my \
$listing=&Apache::run::dump($target,$safeeval);  $listing=~s/\'/\\\'/g;
 	    $listing=~s/\n/\\n/g;


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic