Difference between revisions of "HtmlLinks"
m |
|||
Line 27: | Line 27: | ||
A crib sheet is also |
A crib sheet is also |
||
\{ htmlLink("alias('cribsheet.html')","available") \}. |
\{ htmlLink("alias('cribsheet.html')","available") \}. |
||
+ | Click \{htmlLink(alias("${htmlDirectory}phaseplaneplotters/index.html"),"sketch the graph.", |
||
+ | "TARGET=~~"plotter~~"" )\} to use xFunctions for ploting. |
||
END_TEXT |
END_TEXT |
||
</pre> |
</pre> |
||
Line 35: | Line 37: | ||
<p> |
<p> |
||
The second example shows how to link to a page that is in the same directory on the WeBWorK server as the PG file: the <code>alias</code> function puts in the correct link for this file. |
The second example shows how to link to a page that is in the same directory on the WeBWorK server as the PG file: the <code>alias</code> function puts in the correct link for this file. |
||
− | < |
+ | <p> |
+ | The third example shows how to link to a page that is under the html subdirectory of a course's main directory. In this example, which is taken from the problem Library/Rochester/setDiffEQ6AutonomousStability/ur_de_6_3.pg, phaseplaneplotters is a subdirectory that has been added under the course's html directory</p> |
||
</td> |
</td> |
||
</tr> |
</tr> |
Revision as of 13:43, 28 September 2009
Links to Other Web Pages: PG Code Snippet
This code snippet shows the essential PG code to make a link to another Web page in a problem. Note that these are insertions, not a complete PG file. This code will have to be incorporated into the problem file on which you are working.
A related question might be how to include a link in a problem that opens in another window. This is considered below.
PG problem file | Explanation |
---|---|
BEGIN_TEXT The answer to all questions is on \{ htmlLink("http://www.google.com/","this page") \}. $PAR A crib sheet is also \{ htmlLink("alias('cribsheet.html')","available") \}. Click \{htmlLink(alias("${htmlDirectory}phaseplaneplotters/index.html"),"sketch the graph.", "TARGET=~~"plotter~~"" )\} to use xFunctions for ploting. END_TEXT |
We need no additions to the PG file except in the text section, where we use the
The second example shows how to link to a page that is in the same directory on the WeBWorK server as the PG file: the The third example shows how to link to a page that is under the html subdirectory of a course's main directory. In this example, which is taken from the problem Library/Rochester/setDiffEQ6AutonomousStability/ur_de_6_3.pg, phaseplaneplotters is a subdirectory that has been added under the course's html directory |
If we wanted the Web page to appear in a new window, one solution is to resort to the inclusion of a javascript function to do this. This makes it easy to specify some of the characteristics of the window that is opened, including the size (which may let us avoid having a student open the link in a new window that completely obscures that in which s/he is working).
PG problem file | Explanation |
---|---|
HEADER_TEXT(<<EOF); <script type="text/javascript" <tt>language</tt>="javascript"> <!-- // function windowpopup() { var url = "http://www.google.com/"; var opt = "height=625,width=600,location=no,menubar=no," + "status=no,resizable=yes,scrollbars=yes," + "toolbar=no,"; window.open(url,'newwindow',opt).focus(); } // --> </script> EOF |
We need make no changes to the tagging & description and initialization sections of the PG file. To use a javascript function to determine the size and characteristics of the window that our link opens in we need to define it in the problem set-up section of the file.
The key part of this is that we use the |
BEGIN_TEXT All answers can be found on \{ htmlLink( "javascript:windowpopup();", "this page" ) \} $BR ${BITALIC}(This will open a new window.)$EITALIC |
Then in the text section of the file, we include the call to Depending on your philosophy of Web links, you may want to include a warning to the student that clicking the link will open a new window. |