페이지에 버튼을 추가하는 greasemonkey 스크립트가 있습니다. 클릭하면 버튼이 페이지에서 일부 정보를 긁어내어 str이라는 변수에 넣습니다.수많은 탭에 걸쳐 greasemonkey 출력을 저장하는 방법
지금은 제대로 작동하는 페이지에 변수를 인쇄하고 있습니다. 결국 여러 페이지에서이 파일을 만들어야합니다. 예를 들어
:
가한 페이지로부터 출력 "ABCDEF"될 수 있으며 두 번째 페이지에서 'GHIJKL "입니다.
abcdef
ghijkl
가 자동으로 동일한 변수에이를 저장하는 방법이 바로 변수에 새 출력을 추가 유지 : 나는 수 있도록 텍스트 파일로 한 번에 그것을 하나를 복사입니까? greasemonkey에서 파일에 쓸 수 없다는 것을 알고 있지만,이 상황에서 무엇을 해야할지 실제로 알지 못합니다. 약 100 페이지가 있으므로 붙여 넣기를 100 번 복사하지 않으려합니다 (각 페이지를 열어 버튼을 클릭하면 문제가 없습니다).
// Create a new div to put the links in and append it to the content div
links_div1 = document.createElement('div');//makes a div
//links_div1.setAttribute('class', 'box generic_datatable dataTable');//makes it look the same as rest of page
//links_div1.setAttribute('id', 'normal_wrapper');
//adds div to beginning of content section
var node = document.getElementById('navHeaderCell');
var parentDiv = node.parentNode;
parentDiv.insertBefore(links_div1,node);
//makes buttons in new divs
links_div1.innerHTML += '<table class="box generic_datatable dataTable" id="normal"><thead><tr class="colhead"><th></th></tr></thead><td>Scrape: <button type="button" id="btn_id">scrape</button></td></table>';
//makes them clickable
addButtonListener();
function addButtonListener() {
//first div
document.getElementById("btn_id").addEventListener("click", function(){scrape()}, true);
//alert("function");
}
function scrape() {
//alert(array);
str = array.join('$');
links_div1.innerHTML += str;
}
//collect all the values in a NodeList
var linksToOpen = document.querySelectorAll ("#content_3col>table.form>tbody>tr>td.dash:nth-of-type(2)");
//alert(linksToOpen);
//--- linksToOpen is a NodeList, we want an array of links...
var array = [];
for (var J = 0, numLinks = linksToOpen.length; J < numLinks; ++J) {
array.push (linksToOpen[J].innerHTML.replace(/<[^>]*>/g,''));
}
이 탭들은 동일한 도메인 또는 도메인 간입니까? 그것은 어떤 기술이 사용 가능한지에 큰 차이를 만듭니다. –
동일한 도메인. 예 : http://www.worldportsource.com/ports/USA_AL_Bevill_Hook_Port_4839.php 및 http://www.worldportsource.com/ports/USA_AL_Port_of_Columbia_3562.php –
이미 답변을 수락했는데이 도메인이 동일하므로 'GM_setValue'보다는'localStorage'를 사용해야합니다. 그렇게하면 훨씬 더 많은 데이터를 처리 할 수 있고 브라우저가 다운되거나 다운 될 가능성이 줄어 듭니다. 탭은 또한 localStorage 변경 사항을 수신 할 수 있습니다. 파일 붙여 넣기에 대한 도움말은'GM_setClipboard'를 확인하십시오. –