您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
ASL Test 131018
当前为
// ==UserScript== // @name ASL Smartsign Trigger // @namespace http://m3.cip.gatech.edu/d/ogoldbart3/ // @description ASL Test 131018 // @version 24 // @include http://*/* // @include https://*/* // @include chrome://*/* // @grant metadata // @grant GM_xmlhttpRequest // @require http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js // ==/UserScript== $(document).ready(function() { $('body').append('<div id="lightbox" style="display:none;position:fixed;top:0;center:0;width:100%;height:100%;background:rgba(0,0,0,0.6);text-align:center;z-index:9999"></div>'); //$('html').prepend('<div id="searchwindow" style="position:fixed;width:15%;height:10%;top:0;right:0;text-align:center;z-index:8888"> <table><tr><td><img src="http://m3.cip.gatech.edu/d/ogoldbart3/w/hosting/c/ssdlogo.JPG" style="vertical-align: top" width="49" height="47"></td><td><textarea id="triggertext" rows="2" cols="20">SMARTSignDictionary</textarea> <button id="triggerbutton">Trigger</button></td></td></table></div>'); $('html').prepend('<div id="searchwindow" style="position:fixed;width:15%;height:10%;top:0;left:0;text-align:center;z-index:8888"> <table><tr><td></td><td><textarea id="triggertext" rows="1" cols="18">SMARTSignDictionary</textarea></td></td></table></div>'); $("#triggertext").keyup(function(event){ if(event.keyCode == 13){ //$("#triggerbutton").click(); var t = $("#triggertext").val(); t = t.replace(/'s/g,""); t = t.replace(/'d/g,""); t = t.replace(/~~/g,""); t = t.replace(/~/g," "); t = t.replace(/_/g," "); t = t.replace(".", ""); t = t.replace(",",""); t = t.replace("!", ""); t = t.replace("?",""); t = t.replace(";",""); t = t.replace(",", ""); t = t.replace("_",""); console.log( "testing" ); console.log( $("#triggertext").val() ); $("#searchwindow").hide(); //$("#triggertext").hide(); $("#triggertext").val( "" ); showVideos( t ); //$("#searchwindow").hide(); } }); $("#searchwindow").click(function() { // Gets click $("#triggertext").val( "" ); }); //showVideos(document.getElementById(\'triggertext\').value) console.log("ex3"); $("body").dblclick(function() { // Gets clicked on word (or selected text if text is selected) var t = ''; var s = window.getSelection(); if (s) { if (s.isCollapsed) //nothing is selected. Only clicked. { s.modify('move', 'forward', 'character'); s.modify('move', 'backward', 'word'); s.modify('extend', 'forward', 'word'); //s.modify('move', 'forward', 'character'); //clear selection console.log("happened " + s.toString() ); t = s.toString(); t = t.replace(/'s/g,""); t = t.replace(/'d/g,""); t = t.replace(/~~/g,""); t = t.replace(/~/g," "); t = t.replace(/_/g," "); t = t.replace(".", ""); t = t.replace(",",""); t = t.replace(";",""); t = t.replace("!", ""); t = t.replace("?",""); t = t.replace(",", ""); t = t.replace("_",""); s.modify('move', 'forward', 'character'); //clear selection } } console.log('http://smartsign.imtc.gatech.edu/videos?keywords=' + t); //Ajax call to database, input = t, fails in function, and won't return data //however, data is visible, and succeeded in the GET command when viewed //from within browser's network tab of console if ( ( t !== "" )&&( t.length <= 100 ) ) { var idArray; t.replace("~", " "); showVideos( t ); } }); $("body").click(function() { // Gets clicked on word (or selected text if text is selected) var t = ''; var s = window.getSelection(); if (s) { if (s.isCollapsed) //nothing is selected. Only clicked. { } else { console.log("not happened " + s.toString() ); t = s.toString(); t = t.trim(); t = t.replace(/'s/g,""); t = t.replace(/'d/g,""); t = t.replace(/~~/g,""); t = t.replace(/~/g," "); t = t.replace(/_/g," "); t = t.replace(".", ""); t = t.replace(",",""); t = t.replace(";",""); t = t.replace("!", ""); t = t.replace("?",""); t = t.replace(",", ""); t = t.replace("_",""); } } console.log('http://smartsign.imtc.gatech.edu/videos?keywords=' + t); //Ajax call to database, input = t, fails in function, and won't return data //however, data is visible, and succeeded in the GET command when viewed //from within browser's network tab of console if ( ( t !== "" )&&( t.length <= 100 ) ) { var idArray; t.replace("~", " "); showVideos( t ); } }); }); // get video display order keyword, if present - pattern is {#} function getVideoOrder(vid) { var keywords = vid.keywords, orderKey, order = 999; orderKey = keywords.filter(function(element) { return element.match(/^\{\d+\}$/) !== null; }); if (orderKey.length > 0) { order = parseInt(orderKey[0].slice(1,-1), 10); } return order; } function showVideos( t ) { console.log( "getting to here with " + t); $.ajax({ method: "GET", url: "http://smartsign.imtc.gatech.edu/videos?keywords=" + t, dataType: 'jsonp', success: function(response) { console.log( response ); console.log( response[0] ); //var data = $.parseJSON(response.responseText); var data = response; // sort data array data.sort(function(a, b) { return getVideoOrder(a) - getVideoOrder(b); }); var idArray = new Array(data.length); for ( var i = 0; i < data.length; i++ ) { idArray[i] = '<iframe width="640" height="360" align:center src="http://www.youtube.com/embed/' + data[i]['id'] + '?rel=0"> </iframe>'; console.log( idArray[i] ); } console.log( data.length); var htmlString = '<div style="width:100%;position=absolute;text-align:center"> <div style="position:relative;left:25%;width:640px;text-align:left;">'; for(var k=0; k<idArray.length; k++) { htmlString += idArray[k]; } $('#lightbox') .html(htmlString) .css({"line-height":($(window).height()*0)+"px", "overflow":"auto", "display":"block"}) .fadeIn('fast') .on('click', function(){ $(this).fadeOut('fast'); }); //console.log( htmlString ); //console.log("running fine"); //console.log("T = " + t); $('#searchwindow').hide(); } }); // $.ajax({ // method: "GET", // dataType: 'jsonp', // url: "http://smartsign.imtc.gatech.edu/videos?keywords=" + t, // onload: function(response) { // var data = $.parseJSON(response.responseText); // idArray= new Array(data.length); // orderedIdArray= new Array(data.length); // for ( var i = 0; i < data.length; i++ ) { // idArray[i] = '<iframe width="420" height="345" align:right src="http://www.youtube.com/embed/' + data[i]['id'] + '?rel=0"> </iframe>'; // console.log( idArray[i] ); // } // console.log( data.length); // var htmlString = '<div style="width:100%;position=absolute;text-align:right"> <div style="position:relative;left:72%;width:420px;text-align:left;">'; // var last = idArray.length - 1; // var currnumber; // for(var j=0; j<idArray.length; j++) { // if ( data[j]['keywords'] ) { // if ( data[j]['keywords'][ data[j]['keywords'].length - 1 ].charAt(0) == "{" ) { // //console.log( data[j]['keywords'][ data[j]['keywords'].length - 1 ] ); // currnumber = data[j]['keywords'][ data[j]['keywords'].length - 1 ]; // currnumber = currnumber.slice( 1, currnumber.length - 1 ); // console.log( currnumber ); // orderedIdArray[ currnumber ] = idArray[j]; // //orderedId[ // } // else { // console.log( "not found" ); // orderedIdArray[ last ] = idArray[j]; // last--; // } // } // } // for(var k=0; k<idArray.length; k++) { // htmlString += orderedIdArray[k]; // } // $('#lightbox') // .html(htmlString + '</div></div>') // .css({"line-height":($(window).height()*0)+"px", "overflow":"auto", "display":"block"}) // .fadeIn('fast') // .live('click', function() { // $(this).fadeOut('fast'); // $('#searchwindow').show(); // }); // //console.log( htmlString ); // console.log("running fine"); // console.log("T = " + t); // $('#searchwindow').hide(); // } // }); }
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址