Bill,

Thanks.

I tried your test code and was encouraged by a short delay, but only the
text `hello world` appears, still. I am curious what the role of `roll` is
in that code you suggested, because there is no `roll` in this html code?

function ev_roll_click()


Also, you may recall that I added the following lines to utilh.ijs in the
<head> element. I am wondering if that is necessary, or does JHS already
access similar content?


<script type="text/javascript" src="
http://ajax.googleapis.com/ajax/libs/jquery$
<script type="text/javascipt"> $(document).ready(function() {
});
</script>


For completeness, I am including the remaining stuff, too.


   JS_test2_

function ev_roll_click(){

var canvas = $("#myCanvas");

var context = canvas.get(0).getContext("2d");

context.fillRect(40, 40, 100, 100);

}

   LASTRESPONSE_test2_

...

}


// focus if hml/jmab - return 1 if focus is done

function jmenunavfocus(m,n)

{

  if(2!=jmenunavinfo(m,n))return 0;

  m[n].focus();

  return 1;

}


// return m[n] info - 0 none, 1 hmg, 2 hml or hmab

function jmenunavinfo(m,n)

{

 if(n==m.length)return 0;

 return ("jhmg"==m[n].getAttribute("class"))?1:2

}


// activate menu group n

function jactivatemenu(n)

{

 jmenuhide();

 var node= jfindmenu(n);

 if('undefined'==typeof node) return;

 node.focus();

}


var menublock= null; // menu ul element with display:block

var menulast= null;  // menu ul element just hidden


function jmenuclick(ev)

{

 jmenuhide(ev);

 var e=window.event||ev;

 var tar=(typeof e.target=='undefined')?e.srcElement:e.target;

 var id=tar.id;

 var idul= id+"_ul";

 jbyid(id).focus(); // required on mac

 if(jbyid(idul).style.display=="block")

 {

  menublock= null;

  jbyid(idul).style.display= "none";

 }

 else

 {

  if(menulast!=jbyid(idul))

  {

   menublock= jbyid(idul);

   menublock.style.display= "block";

  }

 }

}


function jmenushow(node)

{

 jmenuhide();

 var id=node.id;

 var idul= id+"_ul";

 menublock= jbyid(idul);

 menublock.style.display= "block";

}


function jmenuhide()

{

 if(tmenuid!=0) clearTimeout(tmenuid);

 tmenuid= 0;

 menulast= menublock;

 if(menublock!=null) menublock.style.display= "none";

 menublock= null;

 return true;

}


// browser differences

//  safari/chrome onblur on mousedown and onfocus on mouseup

//  onblur will hide the menu 250 after mousedown (no clear)

//  so menu item click needs to be quick


var tmenuid= 0;


function jmenublur(ev)

{

 if(tmenuid!=0) clearTimeout(tmenuid);

 tmenuid= setTimeout(jmenuhide,500)

 return true;

}


function jmenufocus(ev)

{

 if(tmenuid!=0) clearTimeout(tmenuid);

 tmenuid= 0;

 return true;

}


function jmenukeydown(ev)

{

 var e=window.event||ev;

 var c=e.keyCode;

 return(c>36&&c<41)?false:true;

}


function jmenukeypress(ev)

{

 var e=window.event||ev;

 var c=e.keyCode;

 return(c>36&&c<41)?false:true;

}


function jmenukeyup(ev)

{

 var e=window.event||ev;

 var c=e.keyCode;

 if(c<37||c>40)return false;

 var tar=(typeof e.target=='undefined')?e.srcElement:e.target;

 jmenunav(tar,c);

 return true;

}



// get pixel... - sizing/resizing


// window.onresize= resize; // required for resize

// and resize should be called in ev_body_load


// the ...h functions need simple changes to

// become the corresponding set of w functions


// body{background:aqua} can be useful in

// finding out why calculations turn out wrong


// IF and FF both have bugs with <h1>...</h1>

// vs these calculations and <hx> should not

// be used where resizing will be used


// get pixel window height

function jgpwindowh()

{

 if(window.innerHeight)

  return window.innerHeight; // not IE

 else

  return document.documentElement.clientHeight;

}


// get pixel body margin height (top+bottom)

function jgpbodymh()

{

 var h;

 if(window.getComputedStyle)

 {

  h=  parseInt(window.getComputedStyle(document.body,null).marginTop);

  h+= parseInt(window.getComputedStyle(document.body,null).marginBottom);

 }

 else

 {

  h=  parseInt(document.body.currentStyle.marginTop);

  h+= parseInt(document.body.currentStyle.marginBottom);

 }

 return h;

}


// get pixel div height - IE/FF bugs vs <h1>

function jgpdivh(id){return jbyid(id).offsetHeight;}


/*

function jgpdivh(id)

{

 var e=jbyid(id);

 if(e==null)return 50;

 //alert(e+" "+id);

 // alert(e.offsetHeight);

 //return jbyid(id).offsetHeight;

 var v=e.offsetHeight;

 //alert(id+" "+v);

 return v;

}

*/


// get pixel end


// debug


// numbers from unicode

function debcodes(t)

{

 r= "";

 for(var i=0;i<t.length;++i)

  r= r+" "+t.charCodeAt(i);

 return r;

}


// eval js sentences in s

// a is true in ajax and false in refresh

function jseval(ajax,s)

{

 var i,j,a,z,q;

 a= "<!-- j html output a --><!-- j js a --><!-- ";


 z= " --><!-- j js z --><!-- j html output z -->";

while(0!=s.length)

{

  i= s.indexOf(a);

  if(-1!=i)

  {

   i+= a.length;

   j= s.indexOf(z);

   q= s.substring(i,j);

   if(ajax||';'==q.charAt(0))

    try{eval(q);}catch(e){alert(e+"\n"+q);}

   s= s.substring(j+z.length);

  }

  else

   s= "";

 }

}

function ev_roll_click(){

var canvas = $("#myCanvas");

var context = canvas.get(0).getContext("2d");

context.fillRect(40, 40, 100, 100);

}

</script>

</head>

<body onload="jevload();" onunload="jevunload();"
onfocus="jevfocus();"><form id="j" name="j" method="post"
action="test2"><input type="hidden" name="jdo"     value=""><input
type="hidden" name="jlocale" value="test2"><input type="hidden"
name="jid"     va...

</html>




On Sat, Sep 14, 2013 at 7:21 AM, bill lam <[email protected]> wrote:

> It looks odd, why did you comment out the function header?
> This will look more reasonable (untested)
>
> JS=: 0 : 0 NB. javascript
> // function ev_roll_click(){jsubmit();} // submit form - calls J
> function ev_roll_click(){
> var canvas = $("#myCanvas");
> var context = canvas.get(0).getContext("2d");
> context.fillRect(40, 40, 100, 100);
> }
> )
>
> Сб, 14 сен 2013, Brian Schott писал(а):
> > Continuing, I edited/added the following code to test2.ijs and ran and
> > saved the code while in JHS.
> >
> > HBS=: 0 : 0
> >  jhh1 'hello world'
> >  '<canvas id="myCanvas" width="500" height="500"> </canvas>'
> >  )
> >
> > JS=: 0 : 0 NB. javascript
> > // function ev_roll_click(){jsubmit();} // submit form - calls J
> > ev_roll_click
> > var canvas = $("#myCanvas");
> > var context = canvas.get(0).getContext("2d");
> > context.fillRect(40, 40, 100, 100);
> > )
> >
> > But I see no change in the `hello` tab even after a refresh. My only
> > response in the jijx window was the following.
> >
> > |value error: jev_get_test2_
> >
> > |       jev_get_test2_''
> >
> > *** response not sent for test2
> >
> > *** html409 Conflict
> >
> > I continued trying to get more info in the jijx window as shown below
> (the
> > vast majority below is the result of entering `   LASTRESPONSE_test2_` .
> > But I do not have a clue what to try next. Help, please.
> >
> >
> > **********longish session in jijx below*********
> >
> >    names_test2_ ''
> >
> > CSS          HBS          JS           LASTRESPONSE create       jev_get
> >
> >    JS_test2_
> >
> > // function ev_roll_click(){jsubmit();} // submit form - calls J
> ev_roll_click
> >
> > var canvas = $("#myCanvas");
> >
> > var context = canvas.get(0).getContext("2d");
> >
> > context.fillRect(40, 40, 100, 100);
> >
> >    LASTRESPONSE_test2_
> >
> > ...
> >
> >  return 1;
> >
> > }
> >
> >
> > // focus if hml/jmab - return 1 if focus is done
> >
> > function jmenunavfocus(m,n)
> >
> > {
> >
> >   if(2!=jmenunavinfo(m,n))return 0;
> >
> >   m[n].focus();
> >
> >   return 1;
> >
> > }
> >
> >
> > // return m[n] info - 0 none, 1 hmg, 2 hml or hmab
> >
> > function jmenunavinfo(m,n)
> >
> > {
> >
> >  if(n==m.length)return 0;
> >
> >  return ("jhmg"==m[n].getAttribute("class"))?1:2
> >
> > }
> >
> >
> > // activate menu group n
> >
> > function jactivatemenu(n)
> >
> > {
> >
> >  jmenuhide();
> >
> >  var node= jfindmenu(n);
> >
> >  if('undefined'==typeof node) return;
> >
> >  node.focus();
> >
> > }
> >
> >
> > var menublock= null; // menu ul element with display:block
> >
> > var menulast= null;  // menu ul element just hidden
> >
> >
> > function jmenuclick(ev)
> >
> > {
> >
> >  jmenuhide(ev);
> >
> >  var e=window.event||ev;
> >
> >  var tar=(typeof e.target=='undefined')?e.srcElement:e.target;
> >
> >  var id=tar.id;
> >
> >  var idul= id+"_ul";
> >
> >  jbyid(id).focus(); // required on mac
> >
> >  if(jbyid(idul).style.display=="block")
> >
> >  {
> >
> >   menublock= null;
> >
> >   jbyid(idul).style.display= "none";
> >
> >  }
> >
> >  else
> >
> >  {
> >
> >   if(menulast!=jbyid(idul))
> >
> >   {
> >
> >    menublock= jbyid(idul);
> >
> >    menublock.style.display= "block";
> >
> >   }
> >
> >  }
> >
> > }
> >
> >
> > function jmenushow(node)
> >
> > {
> >
> >  jmenuhide();
> >
> >  var id=node.id;
> >
> >  var idul= id+"_ul";
> >
> >  menublock= jbyid(idul);
> >
> >  menublock.style.display= "block";
> >
> > }
> >
> >
> > function jmenuhide()
> >
> > {
> >
> >  if(tmenuid!=0) clearTimeout(tmenuid);
> >
> >  tmenuid= 0;
> >
> >  menulast= menublock;
> >
> >  if(menublock!=null) menublock.style.display= "none";
> >
> >  menublock= null;
> >
> >  return true;
> >
> > }
> >
> >
> > // browser differences
> >
> > //  safari/chrome onblur on mousedown and onfocus on mouseup
> >
> > //  onblur will hide the menu 250 after mousedown (no clear)
> >
> > //  so menu item click needs to be quick
> >
> >
> > var tmenuid= 0;
> >
> >
> > function jmenublur(ev)
> >
> > {
> >
> >  if(tmenuid!=0) clearTimeout(tmenuid);
> >
> >  tmenuid= setTimeout(jmenuhide,500)
> >
> >  return true;
> >
> > }
> >
> >
> > function jmenufocus(ev)
> >
> > {
> >
> >  if(tmenuid!=0) clearTimeout(tmenuid);
> >
> >  tmenuid= 0;
> >
> >  return true;
> >
> > }
> >
> >
> > function jmenukeydown(ev)
> >
> > {
> >
> >  var e=window.event||ev;
> >
> >  var c=e.keyCode;
> >
> >  return(c>36&&c<41)?false:true;
> >
> > }
> >
> >
> > function jmenukeypress(ev)
> >
> > {
> >
> >  var e=window.event||ev;
> >
> >  var c=e.keyCode;
> >
> >  return(c>36&&c<41)?false:true;
> >
> > }
> >
> >
> > function jmenukeyup(ev)
> >
> > {
> >
> >  var e=window.event||ev;
> >
> >  var c=e.keyCode;
> >
> >  if(c<37||c>40)return false;
> >
> >  var tar=(typeof e.target=='undefined')?e.srcElement:e.target;
> >
> >  jmenunav(tar,c);
> >
> >  return true;
> >
> > }
> >
> >
> >
> > // get pixel... - sizing/resizing
> >
> >
> > // window.onresize= resize; // required for resize
> >
> > // and resize should be called in ev_body_load
> >
> >
> > // the ...h functions need simple changes to
> >
> > // become the corresponding set of w functions
> >
> >
> > // body{background:aqua} can be useful in
> >
> > // finding out why calculations turn out wrong
> >
> >
> > // IF and FF both have bugs with <h1>...</h1>
> >
> > // vs these calculations and <hx> should not
> >
> > // be used where resizing will be used
> >
> >
> > // get pixel window height
> >
> > function jgpwindowh()
> >
> > {
> >
> >  if(window.innerHeight)
> >
> >   return window.innerHeight; // not IE
> >
> >  else
> >
> >   return document.documentElement.clientHeight;
> >
> > }
> >
> >
> > // get pixel body margin height (top+bottom)
> >
> > function jgpbodymh()
> >
> > {
> >
> >  var h;
> >
> >  if(window.getComputedStyle)
> >
> >  {
> >
> >   h=  parseInt(window.getComputedStyle(document.body,null).marginTop);
> >
> >   h+= parseInt(window.getComputedStyle(document.body,null).marginBottom);
> >
> >  }
> >
> >  else
> >
> >  {
> >
> >   h=  parseInt(document.body.currentStyle.marginTop);
> >
> >   h+= parseInt(document.body.currentStyle.marginBottom);
> >
> >  }
> >
> >  return h;
> >
> > }
> >
> >
> > // get pixel div height - IE/FF bugs vs <h1>
> >
> > function jgpdivh(id){return jbyid(id).offsetHeight;}
> >
> >
> > /*
> >
> > function jgpdivh(id)
> >
> > {
> >
> >  var e=jbyid(id);
> >
> >  if(e==null)return 50;
> >
> >  //alert(e+" "+id);
> >
> >  // alert(e.offsetHeight);
> >
> >  //return jbyid(id).offsetHeight;
> >
> >  var v=e.offsetHeight;
> >
> >  //alert(id+" "+v);
> >
> >  return v;
> >
> > }
> >
> > */
> >
> >
> > // get pixel end
> >
> >
> > // debug
> >
> >
> > // numbers from unicode
> >
> > function debcodes(t)
> >
> > {
> >
> >  r= "";
> >
> >  for(var i=0;i<t.length;++i)
> >
> >   r= r+" "+t.charCodeAt(i);
> >
> >  return r;
> >
> > }
> >
> >
> > // eval js sentences in s
> >
> > // a is true in ajax and false in refresh
> >
> > function jseval(ajax,s)
> >
> > {
> >
> >  var i,j,a,z,q;
> >
> >  a= "<!-- j html output a --><!-- j js a --><!-- ";
> >
> >
> >  z= " --><!-- j js z --><!-- j html output z -->";
> >
> > while(0!=s.length)
> >
> > {
> >
> >   i= s.indexOf(a);
> >
> >   if(-1!=i)
> >
> >   {
> >
> >    i+= a.length;
> >
> >    j= s.indexOf(z);
> >
> >    q= s.substring(i,j);
> >
> >    if(ajax||';'==q.charAt(0))
> >
> >     try{eval(q);}catch(e){alert(e+"\n"+q);}
> >
> >    s= s.substring(j+z.length);
> >
> >   }
> >
> >   else
> >
> >    s= "";
> >
> >  }
> >
> > }
> >
> > // function ev_roll_click(){jsubmit();} // submit form - calls J
> ev_roll_click
> >
> > var canvas = $("#myCanvas");
> >
> > var context = canvas.get(0).getContext("2d");
> >
> > context.fillRect(40, 40, 100, 100);
> >
> > </script>
> >
> > </head>
> >
> > <body onload="jevload();" onunload="jevunload();"
> > onfocus="jevfocus();"><form id="j" name="j" method="post"
> > action="test2"><input type="hidden" name="jdo"     value=""><input
> > type="hidden" name="jlocale" value="test2"><input type="hidden"
> > name="jid"     va...
> >
> > </html>
> >
> >
> >
> > **********longish session in jijx above*********
> >
> >
> >
> > On Sat, Sep 14, 2013 at 6:49 AM, Brian Schott <[email protected]
> >wrote:
> >
> > > Instead of using gtk I used  unix's console  and entered `nano
> test2.ijs`
> > > as shown next. What is not shown is that I merely copied your text for
> > > `test2.ijs` directly into nano.
> > >
> > > server:~ brian$ cd /Users/brian/j64-701-user
> > > server:j64-701-user brian$ nano test2.ijs
> > >
> > > What seemed to fail, was the following line, but it was not a failure,
> > > just a misplaced command.
> > >
> > > http://127.0.0.1:65001/test2
> > >
> > > Instead of being entered in the unix console, the command needed to be
> > > entered in the browser as a URL, and only after entering the following
> in
> > > the browser as a URL.
> > >
> > > http://127.0.0.1:65001/jijs?mid=open&path=~User/test2.ijs#
> > >
> > > An alternative to entering the above line in the URL field of the
> browser
> > > is to select `jfile` from the leftmost menu of the jijx window of JHS
> and
> > > then (double-?) clicking on the file `test2.ijs` on that page.
> > >
> > > But the key step then is to `run` the selected file using the `action`
> > > menu or as a keystroke shortcut entering Esc-r.
> > >
> > > Then, opening a new tab in the browser and entering the link below (and
> > > above), produces the Hello World web page, with the tab titled `hello`
> . My
> > > browser even produces the blue J.
> > >
> > > http://127.0.0.1:65001/test2
> > >
> > > Yes! Thank you Bjorn.
> > >
> > > Next I will attempt to produce a canvas rendered rectangle.
> > >
> > >
> > >
> > >
> > --
> > (B=)
> > ----------------------------------------------------------------------
> > For information about J forums see http://www.jsoftware.com/forums.htm
>
> --
> regards,
> ====================================================
> GPG key 1024D/4434BAB3 2008-08-24
> gpg --keyserver subkeys.pgp.net --recv-keys 4434BAB3
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
>



-- 
(B=) <-----my sig
Brian Schott
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to