Извините, я не могу прочитать ваш код, я слишком много могу сказать, и я полагаю, что ваша ошибка связана с плохим управлением в отношении адресации таблиц и их элементов.
Я адаптировал один из моих старых кодов, чтобы он соответствовал вашей работе; это большой технический пробел для вас, но я думаю, что вам будет полезно программировать на лучшие рельсы:)
HTML-часть: `
<div id="Bt_BUY">
<button data-price="150000" >Avocado & Brownie Cake</button>
<button data-price="65000" >Strawberry & Watermelon Cake</button>
</div>
<table id="show-cart">
<thead>
<tr>
<th>name</th>
<th>price</th>
<th>count</th>
</tr>
</thead>
<tbody></tbody>
</table>
<button id="clear-cart" >Clear Cart</button>
`
[116 ] JS часть `
"use strict"
const Buy_obj = {
List : [],
DisplayTable : null,
add( x_name, x_price, x_count ) {
let idx = this.List.findIndex( e=>e.name=== x_name);
if (idx>=0)
{ this.List[idx].count += x_count; }
else
{ this.List.push( { 'name' : x_name, 'price' : x_price, 'count' : x_count } ) }
this.saveList();
this.drawTable();
}
,
clear(){
this.List.length = 0;
this.saveList();
this.drawTable();
}
,
remove( x_name ) {
let idx = this.List.findIndex( e=>e.name=== x_name);
if (idx>=0) {
this.List[idx].count--;
if (this.List[idx].count <= 0)
{ this.List.splice(idx,1) }
}
this.saveList();
this.drawTable();
}
,
saveList() {
localStorage.setItem("shoppingCart", JSON.stringify(this.List));
}
,
loadList() {
let ls_list = localStorage.getItem("shoppingCart");
if ( ls_list)
{ this.List = JSON.parse(ls_list); }
}
,
initialise( $xTable ) {
this.DisplayTable = $xTable;
this.loadList();
this.drawTable();
}
,
drawTable() {
this.DisplayTable.innerHTML = "";
this.List.forEach(e=>{
let
T_row = this.DisplayTable.insertRow(-1),
T_cell_0 = T_row.insertCell(0),
T_cell_1 = T_row.insertCell(1),
T_cell_2 = T_row.insertCell(2);
T_cell_0.textContent = e.name;
T_cell_1.textContent = e.price;
T_cell_2.textContent = e.count;
})
}
}
// *************************** Main *****************************
Buy_obj.initialise ( document.querySelector('#show-cart tbody') );
document.querySelector('#Bt_BUY').onclick = function(e) {
if (!e.target.matches('button')) return;
e.stopPropagation();
Buy_obj.add( e.target.textContent, e.target.dataset.price, 1 );
}
document.querySelector('#clear-cart').onclick = function(e) {
Buy_obj.clear();
}
`
Демонтируйте SWF с Flasm.
Примечание: Только работы для флэш-памяти 8 или ранее к сожалению.
SWFTools мог бы дать Вам некоторую информацию также о файлах SWF. Они, кажется, намного более свежи.
Я очень не хочу дать, "просто гуглят его" ответ, но это действительно настолько просто, если Вы знаете что условия использовать.
В дополнение к захвату декомпилятора Flash можно хотеть прочитать документы Спецификации Формата файла SWF.
Как человек, постоянно работающий с форматом файла SWF и байт-кодом ActionScript 2 и 3, я настоятельно рекомендую ASV . В отличие от других декомпиляторов, он был разработан для просмотра SWF-файлов, а не только для их преобразования в FLA.
Кроме того, вам необходимо прочитать следующие документы:
]FWIW: Я создал (дис-) ассемблер ActionScript 3 (который позволяет собирать обратно измененный код, даже для запутанных файлы). По функциональности он похож на flasm, но нацелен на AVM (используется в более новых версиях Flash) и работает непосредственно с байт-кодом AS, а не целыми SWF-файлами. Чтобы отредактировать остальную часть файла, вы можете использовать такой инструмент, как SWiX .