2014-12-30 7 views
1

Я хочу запустить фрагмент сценария в SAP BO «Query Builder», это простой инструмент для извлечения данных с использованием SQL. (Я не могу загрузить изображение из-за репутации, интерфейс продукта можно найти здесь: http://scn.sap.com/docs/DOC-42952)Автоматический запуск сценария JavaScript

Поскольку у меня есть куча запросов для запуска, я хочу использовать фрагмент, чтобы запускать их автоматически. Использование следующего кода:

//select the textarea to insert retrieved queries 
    document.querySelector("textarea").textContent = "SELECT * FROM CI_INFOOBJECTS"; 
    //click the submit button 
    document.getElementsByTagName('input')[0].click(); 

    //code to export the query result 

    //after click(), the page reloaded and it won't executed the following code. 
    document.addEventListener("DOMContentLoaded", function() { 
    //back to the previous page, run the previous code again 
     window.history.back(1); 
     }, false); 

У кого-нибудь есть хорошие идеи, как его реализовать? Спасибо за вашу помощь.

ответ

2

Вы можете использовать Tampermonkey для chrome, и вы можете узнать, как использовать его с сайтов, таких как hibbard tampermonkey tutorial. В целом ваш sript будет выглядеть следующим образом:

// ==UserScript== 
 
// @name   Enter any name you like here 
 
// @namespace URL of website you own 
 
// @version  0.1 
 
// @description retrive data using sql 
 
// @author  Your name here 
 
// @match  relevant url 
 
// ==/UserScript== 
 
/* jshint -W097 */ 
 

 

 
// Your code here... 
 
//select the textarea to insert retrieved queries 
 
    document.querySelector("textarea").textContent = "SELECT * FROM CI_INFOOBJECTS"; 
 
    //click the submit button 
 
    document.getElementsByTagName('input')[0].click(); 
 

 
    //code to export the query result 
 

 
    //after click(), the page reloaded and it won't executed the following code. 
 
    document.addEventListener("DOMContentLoaded", function() { 
 
    //back to the previous page, run the previous code again 
 
     window.history.back(1); 
 
     }, false);
изменения делают neccesay как в @match. Прокомментируйте, если у вас есть сомнения. надеюсь, что это поможет

Смежные вопросы