Как сделать междоменную коммуникацию между JavaScript и Flash?

Вы можете иметь основной массив, который содержит всех пользователей, и использовать другой массив в качестве dataSource вашего tableView:

var mainUsers: [User] = []
var userDataSource: [User] = []

В viewDidLoad:

override func viewDidLoad() {
    super.viewDidLoad()
    mainUsers.append(user1)
    mainUsers.append(user2)
    mainUsers.append(user3)

    userDataSource = mainUsers
}


    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return userDataSource.count
    }

    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell =  UITableViewCell()
        cell.textLabel?.text =  "this cell index for \(userDataSource[indexPath.row].username) "
        return cell
    }

Тогда в ваших кнопках действий:

    @IBAction func ActionShowActiveUsers(_ sender: Any) {
        userDataSource =  mainUsers.filter( { return [112].active == true } )
        tableView.reloadData()
    }

    @IBAction func btnShowInActiveUser(_ sender: Any) {
        userDataSource =  mainUsers.filter( { return [112].active == false } )
        tableView.reloadData()
    }
8
задан Peter Hilton 16 January 2009 в 23:44
поделиться

1 ответ

Используя Security.allowDomain("www.example.com") в SWF позволит JS на странице из www.example.com вызывать функции, выставленные в SWF с ExternalInterface.addCallback(). Домен и субдомен должны соответствовать точно. Используя "*" позволит любому домену общаться с SWF, но если у Вас есть один определенный домен, лучше использовать это.

Установка allowScriptAccess кому: always в HTML код для встраивания позволит SWF вызвать функции JavaScript.

Одна вещь, которая ловит многих разработчиков, состоит в том, что JavaScript не сможет вызвать функции на SWF, пока SWF не будет сделан, загружаясь. К сожалению, нет никакого основанного на JS события, которое говорит Вам, когда SWF готов (по крайней мере, что я нашел). То, что я обычно делаю для работы вокруг этой проблемы, вызывают функцию JS от SWF сразу, когда SWF заканчивает загружаться, чтобы уведомить страницу, что SWF готов.

Существует некоторая абстракция тут и там, но если Вы смотрите на исходный код для Диаграмм YUI, Вы смогли выяснять, как Yahoo! получил междоменную коммуникационную работу JS/SWF.

17
ответ дан 5 December 2019 в 09:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: