Есть ли что-то в коде страницы, которая может помешать javascript-букмарклету взаимодействовать со страницей? Я написал букмарклет jQuery для заполнения сложной формы, около 250 полей и проверенных частей формы в jsFiddle успешно. К сожалению, когда я собрал все это и попытался на самом деле, я ничего не получил.jQuery bookmarklet not working
Я запускаю это в Firefox с Firebug и не получаю какой-либо вывод Firebug, чтобы указать мне в правильном направлении. Я могу только догадываться, что в коде фактической страницы может быть что-то, не позволяющее внешнему javascript взаимодействовать с этой загруженной страницей? Возможно ли это? Есть ли способ обойти это? Есть ли способ проверить и подтвердить это?
Заранее благодарим за любую помощь.
Моя догадка заключается в том, что помехи находятся в этом верхнем разделе javascript и различных сценариях, которые получены на фактической странице.
<head><script type="text/javascript">/* <![CDATA[ */_cf_loadingtexthtml="<img alt=' ' src='/CFIDE/scripts/ajax/resources/cf/images/loading.gif'/>";
_cf_contextpath="";
_cf_ajaxscriptsrc="/CFIDE/scripts/ajax";
_cf_jsonprefix='//';
_cf_websocket_port=8575;
_cf_flash_policy_port=1243;
_cf_clientid='D4C17F4DE745D7B2C3079E2B52AED452';/* ]]> */</script><script type="text/javascript" src="/CFIDE/scripts/ajax/messages/cfmessage.js"></script>
<script type="text/javascript" src="/CFIDE/scripts/ajax/package/cfajax.js"></script>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<meta http-equiv="expires" content="0" />
<meta http-equiv="cache-control" content="no-cache"/>
<meta http-equiv="pragma" content="no-cache"/>
<link rel="shortcut icon" href="/am/images/favicon.ico" />
<link href="/am/assets/css/app.min.css?ux-theme&refresh=25%2DMar%2D16%2004%3A54%3A42" rel="stylesheet"/>
<!-- -->
<link rel="stylesheet" type="text/css" href="/am/css/grid.css?refresh=25%2DMar%2D16%2004%3A54%3A42" media="screen">
<!-- -->
<link rel="stylesheet" type="text/css" href="/am/css/page.css?refresh=25%2DMar%2D16%2004%3A54%3A42" media="screen">
<link rel="stylesheet" type="text/css" href="/am/css/page.css?refresh=25%2DMar%2D16%2004%3A54%3A42" media="print">
<link rel="stylesheet" type="text/css" href="/am/css/print-page.css?refresh=25%2DMar%2D16%2004%3A54%3A42" media="print">
<link rel="stylesheet" type="text/css" href="/am/css/print-grid.css?refresh=25%2DMar%2D16%2004%3A54%3A42" media="print">
<link rel="stylesheet" type="text/css" href="/am/css/ux/css/validationEngine.jquery.css?refresh=25%2DMar%2D16%2004%3A54%3A42" media="screen">
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript">window.jQuery || document.write('<script src="/AM/assets/js/lib/jquery-1.7.1.min.js"><\/script>')</script>
<script type="text/javascript">
(function ($) {
var ua = navigator.userAgent.toLowerCase();
if (ua.indexOf("compatible") < 0 && /(trident)(?:.*? rv ([\w.]+)|)/.exec(ua)){
$.browser['msie'] = true;
delete $.browser['mozilla'];
}
})(jQuery);
</script>
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.8.21/jquery-ui.min.js"></script>
<script>window.jQuery.ui || document.write('<script src="/AM/assets/js/lib/jquery-ui-1.8.21.min.js"><\/script>')</script>
<script language="JavaScript" src="/AM/assets/js/ux/ux.js?refresh=25%2DMar%2D16%2004%3A54%3A42"></script>
<script language="JavaScript" src="/AM/assets/js/ux/ux.ajax.js?refresh=25%2DMar%2D16%2004%3A54%3A42"></script>
<script language="JavaScript" src="/AM/assets/js/ux/ux.validationEngine.js?refresh=25%2DMar%2D16%2004%3A54%3A42" ></script>
<script src="/AM/assets/js/lib/angular/angular-1.1.5/angular.js?refresh=25%2DMar%2D16%2004%3A54%3A42"></script>
<script src="/AM/assets/js/lib/angular-cookies/angular-cookies-1.0.6/angular-cookies.min.js?refresh=25%2DMar%2D16%2004%3A54%3A42"></script>
<script src="/AM/assets/js/lib/moment-2.0.0.min.js?refresh=25%2DMar%2D16%2004%3A54%3A42"></script>
<script src="/AM/assets/js/lib/angular-strap/angular-strap-0.7.5/dist/angular-strap.min.js?refresh=25%2DMar%2D16%2004%3A54%3A42"></script>
<script src="/EHR/scripts/resources/cost-center/cost-center-resource.js?refresh=25%2DMar%2D16%2004%3A54%3A42"></script>
<script src="/EHR/scripts/resources/rest-resource.js?refresh=25%2DMar%2D16%2004%3A54%3A42"></script>
<script src="/EHR/scripts/resources/episode-frequency/episode-frequency.js?refresh=25%2DMar%2D16%2004%3A54%3A42"></script>
<script src="/EHR/scripts/resources/icd/icd-resource.js?refresh=25%2DMar%2D16%2004%3A54%3A42"></script>
<script src="/EHR/scripts/resources/list-frequency/list-frequency-resource.js?refresh=25%2DMar%2D16%2004%3A54%3A42"></script>
<script src="/EHR/scripts/resources/list-interval/list-interval-resource.js?refresh=25%2DMar%2D16%2004%3A54%3A42"></script>
<script src="/EHR/scripts/services/clinic/clinic-setting-service.js?refresh=25%2DMar%2D16%2004%3A54%3A42"></script>
<script src="/EHR/scripts/services/user/clinic-user-service.js?refresh=25%2DMar%2D16%2004%3A54%3A42"></script>
<script src="/EHR/scripts/services/user/user-service.js?refresh=25%2DMar%2D16%2004%3A54%3A42"></script>
<script src="/EHR/scripts/services/util/form-util-service.js?refresh=25%2DMar%2D16%2004%3A54%3A42"></script>
<script src="/EHR/scripts/services/util/util-service.js?refresh=25%2DMar%2D16%2004%3A54%3A42"></script>
<script src="/EHR/scripts/services/ux/ux-service.js?refresh=25%2DMar%2D16%2004%3A54%3A42"></script>
<script src="/EHR/scripts/directives/kinnser/blur/blur.js?refresh=25%2DMar%2D16%2004%3A54%3A42"></script>
<script src="/EHR/scripts/directives/kinnser/focus/focus.js?refresh=25%2DMar%2D16%2004%3A54%3A42"></script>
<script src="/EHR/scripts/directives/kinnser/icd-lookup/icd-lookup.js?refresh=25%2DMar%2D16%2004%3A54%3A42"></script>
<script src="/EHR/scripts/directives/kinnser/infinate-scroll/infinate-scroll.js?refresh=25%2DMar%2D16%2004%3A54%3A42"></script>
<script src="/EHR/scripts/directives/kinnser/oss-grid/oss-grid.js?refresh=25%2DMar%2D16%2004%3A54%3A42"></script>
<script src="/EHR/scripts/directives/kinnser/oss-modal/oss-modal.js?refresh=25%2DMar%2D16%2004%3A54%3A42"></script>
<script src="/EHR/scripts/directives/kinnser/oss-modal/oss-modal-service.js?refresh=25%2DMar%2D16%2004%3A54%3A42"></script>
<script src="/EHR/scripts/directives/kinnser/ux/date-picker.js?refresh=25%2DMar%2D16%2004%3A54%3A42"></script>
<script src="/AM/scripts/amng-app/app.js"></script>
<script language="javascript">
$(document).ready(function(){
var useTooltipContainer;
var $tooltipMaster;
if (useTooltipContainer == true) {
$tooltipMaster = $("#tooltipContainer .tooltipMaster");
}
else {
$tooltipMaster = $(".tooltipMaster");
}
$tooltipMaster.live("mouseover",function(e){
$(this).easytooltip($(this).attr("id"),$(this).attr("id")+"_tooltip");
e.stopPropagation();
})
});
jQuery.fn.easytooltip=function(elemID,id,options){
var Config={event:'mousemove'};
if(options){
jQuery.extend(Config,options);
};
if(!document.getElementById('tool_tip_action_' + id)){
$("body").append('<div id="tool_tip_action_'+id+'"> </div>');
$("#tool_tip_action_"+id).css({
"background-color":Config.backgroundcolor,
border:Config.border,
color:Config.color,
position:"absolute",
"z-index":"1001",
"display":"none"
});
}
function brwstester(){
return(document.compatMode&&document.compatMode!="BackCompat")?document.documentElement:document.body;
}
$("#"+id).hide();
$(this).bind(Config.event,function(e){
if(screen.width<=(e.pageX+40+$("#tool_tip_action_"+id).width())){
var lfts=e.pageX-$("#tool_tip_action_"+id).width()-20;
}
else {
var lfts=e.pageX+20;
}
if(brwstester().scrollTop<e.pageY-20-$("#tool_tip_action_"+id).height() ){
var tps=(e.pageY-$("#tool_tip_action_"+id).height()-20);
}
else{
var tps=e.pageY+20;
}
$("#tool_tip_action_"+id).html($("#"+id).html()).css({
"left":lfts,
"top":tps
}).show();
});
$("#tool_tip_action_"+id).bind("touchstart",function(){
$("#tool_tip_action_"+id).hide().css({
"left":0,
"top":0
});
return false;
});
$(this).bind("mouseout",function(){
$("#tool_tip_action_"+id).hide().css({
"left":0,
"top":0
});
});
}
</script>
<script type="text/javascript" src="/AM/assets/js/lib/jquery.tinysort-1.0.2.js"></script>
<script type="text/javascript" src="/AM/assets/js/lib/sortable.js"></script>
<script type="text/javascript" src="/AM/assets/js/lib/paginator-1.0.Beta.js"></script>
<script language="JavaScript" src="/am/menubar/menubarJS.js?refresh=25%2DMar%2D16%2004%3A54%3A42a" ></script>
<script type="text/javascript" src="/AM/assets/js/util.js?refresh=25%2DMar%2D16%2004%3A54%3A42"></script>
<script type="text/javascript" src="/AM/assets/js/lib/jquery.validate-1.5.5.js"></script>
<script type="text/javascript" src="/AM/assets/js/jquery.validationEngine.min.js?refresh=25%2DMar%2D16%2004%3A54%3A42"></script>
<script type="text/javascript" src="/AM/assets/js/jquery.validationEngine-en.js?refresh=25%2DMar%2D16%2004%3A54%3A42"></script>
<script type="text/javascript" src="/AM/assets/js/lib/css-browser-selector-0.4.0.js"></script>
<script language="javascript" type="text/javascript" src="/am/assets/js/KinnserDataTables/KinnserDataTables.js?refresh=25%2DMar%2D16%2004%3A54%3A42"></script>
<script language="javascript" type="text/javascript" src="/am/assets/js/lib/dataTables/plugins/jquery.dataTables.rowGrouping.js"></script>
<script src="//ajax.aspnetcdn.com/ajax/jquery.dataTables/1.9.4/jquery.dataTables.min.js"></script>
<script>window.jQuery.fn.DataTable || document.write('<script src="/am/assets/js/lib/dataTables/dataTables-1.9.4/media/js/jquery.dataTables.min.js"><\/script>')</script>
<script language="javascript" type="text/javascript" src="/am/assets/js/KinnserDataTables/plugins/state.dataTables.js?refresh=25%2DMar%2D16%2004%3A54%3A42"></script>
<script language="javascript" type="text/javascript" src="/am/assets/js/lib/dataTables/plugins/jquery.dataTables.fnStandingRedraw.js"></script>
<script language="javascript" type="text/javascript" src="/am/assets/js/KinnserDataTables/plugins/KinnserDataTables.sorting.js?refresh=25%2DMar%2D16%2004%3A54%3A42"></script>
<script language="javascript" type="text/javascript" src="/am/assets/js/KinnserDataTables/plugins/KinnserDataTables.pagination.js?refresh=25%2DMar%2D16%2004%3A54%3A42"></script>
<script>
$(document).ready(function(){
$('.logout').click(function(){ ux.statePersistance.clear();})
if ($('.ux-datatables').length > 0){
bootstrapDatatableScript = document.createElement('script');
bootstrapDatatableScript.language = 'javascript';
bootstrapDatatableScript.type = 'text/javascript';
bootstrapDatatableScript.src = '/am/assets/js/KinnserDataTables/plugins/bootstrap.dataTables.js?refresh=25%2DMar%2D16%2004%3A54%3A42'
document.getElementsByTagName('head')[0].appendChild(bootstrapDatatableScript);
}
else{
var includeCSS = function(file) {
var css = document.createElement('link');
css.rel = 'stylesheet'
css.type = 'text/css';
css.href = file;
css.media = 'screen';
document.getElementsByTagName('head')[0].appendChild(css);
}
includeCSS('/am/assets/js/lib/dataTables/dataTables-1.9.2/media/css/demo_table.css');
includeCSS('/am/assets/js/lib/dataTables/dataTables-1.9.2/media/css/demo_table_jui.css');
}
});
</script>
<script type="text/javascript" src="/AM/assets/js/lib/jquery.versioncompare.js"></script>
<script language="javascript" type="text/javascript" src="/AM/assets/js/lib/jquery.cookie-1.2.js"></script>
<script type="text/javascript">
$(document).ready(function(){
//Stripping json prefix and adding token to header
$.ajaxSetup({
headers: {'token': $.cookie('EHRTOKEN')},
cache:false,
dataFilter:function(data,type) {
//remove "//"
if(type == 'json') {
data = data.substring(2,data.length);//remove "//"
// remove '<*>' prefix from every field value (serializeJSON fix for CF)
data = data.replace(/":"<\*>/ig, '":"');
}
return data;
}
});
// Set app base url for ux library
ux.config.setAppBaseUrl('/am/');
$('#globalAjaxLoader').ajaxStart(function(){$(this).show();})
$('#globalAjaxLoader').ajaxStop(function(){$(this).hide();})
//from util.js. overrides default behavior and makes radio buttons uncheckable
setRadiosUncheckable();
$('#gTemplateErrorWindow').dialog({ //generic error handling dialog construction
bgiframe: true,
height: 200,
width: 350,
modal: true,
autoOpen:false,
buttons: {
'Ok': {
id: 'gTemplateErrorOkButton',
text: 'Ok',
click: function() {
$(this).dialog('close');
}
} //end of Ok button declaration
}
});
});
</script>
<!-- Placed at the end of the document so the pages load faster -->
<script src="/AM/assets/js/lib/bootstrap/bootstrap-2.3.1.min.js"></script>
<script src="/AM/assets/js/lib/bootstrap/extensions/bootstrap-popover.js"></script>
<script src="/AM/assets/js/jquery.kinnser.utils.js"></script>
<script src="/AM/assets/js/lib/jquery.maskedinput-1.3.min.js"></script>
<script src="/AM/assets/js/lib/jquery-jsRender-1.0.pre.js"></script>
<script src="/AM/assets/js/ux/ux.datepicker.js?refresh=25%2DMar%2D16%2004%3A54%3A42" ></script>
<script src="/AM/assets/js/ux/ux.wellaccordion.js?refresh=25%2DMar%2D16%2004%3A54%3A42" ></script>
<script src="/AM/assets/js/ux/ux.visitOverlapMessageFormat.js"></script>
<script src="/AM/assets/js/ux/ux.searchDuplicatedPatient.js"></script>
<script type="text/javascript" src="/AM/assets/js/lib/ios-orientationchange-fix.js"></script>
<script src="/AM/assets/js/ux/ux.patientDetail.js?refresh=25%2DMar%2D16%2004%3A54%3A42" ></script>
<script src="/AM/assets/js/ux/ux.taskComment.js?refresh=25%2DMar%2D16%2004%3A54%3A42" ></script>
<script src="/AM/assets/js/ux/ux.statePersistance.js?refresh=25%2DMar%2D16%2004%3A54%3A42" ></script>
<script type="text/javascript">/* <![CDATA[ */
ColdFusion.Ajax.importTag('CFDIV');
/* ]]> */</script>
</head>
<body class="ux" >
<div id="gTemplateErrorWindow" style="display: none;">
<div id="gTemplateErrorWindowText"></div>
</div>
<div class="container" id="AMContainer">
<div>
<div id="globalAjaxLoader" class="ajaxLoading">
<div style="margin: 0px auto 0px auto; color:white; font-weight:bold; width:95px; background-color:#A31F24">Loading...</div>
</div>
<div class="header">
<a href="/am/Message/inbox.cfm">
<img src="/packages/images/header/kinnser-agancy-manager.png" alt="Kinnser Agency Manager" border="0">
</a>
<script type="text/javascript">
$('#swapUser').live('change', function (e) {
var valueSelected = this.value;
var userValues = valueSelected.split(',');
var userkeySelected = userValues[0];
var userTypeSelected = userValues[1];
$.ajax({
type:'POST',
url:'/API/services/Authentication/AuthenticationService.cfc?method=switchContext',
dataType: 'json',
data: {
userkey: userkeySelected,
userType: userTypeSelected
},
success: function(data) {
var redirectUrl = '/ContextSwitch.cfm?product=' + data.data.product + '&userKey=' + data.data.UserKey;
if(data.data.ClinicUserKey !== 0){
redirectUrl += '&clinicUserKey=' + data.data.ClinicUserKey;
}
window.location = redirectUrl;
}
});
});
Сообщите нам код/примеры, пожалуйста. –
Попробуйте на другой странице. Попробуйте это с консоли разработчика, а не в своем букмаркете. Если вы ожидаете, что jQuery будет полезен, убедитесь, что jQuery доступен. –
Я гарантирую, что jQuery доступен, вставив мини-версию в верхнюю часть файла javascript. Я использовал jQuery 2.2, но заметил, что страница использует 1.7.1, поэтому я поменял мой jQuery в своем букмарклете для этой версии, но это не имело значения. –