Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

BrowserJS.cpp 1.3KB

12345678910111213141516171819202122232425262728293031323334
  1. #include "BrowserJS.h"
  2. std::vector<std::string> getConstructs() {
  3. std::vector<std::string> constructs;
  4. constructs.push_back("document.addEventListener");
  5. constructs.push_back("document.querySelector");
  6. return constructs;
  7. }
  8. bool isConstruct(std::string construct) {
  9. std::vector<std::string> constructs = getConstructs();
  10. std::vector<std::string>::iterator it = std::find(constructs.begin(), constructs.end(), construct);
  11. std::cout << "isConstruct [" << construct << "](" << ((it != constructs.end())?"true":"false") << ")\n";
  12. return it != constructs.end();
  13. }
  14. js_internal_storage *executeConstruct(std::string functionName, std::string params, js_function &scope) {
  15. std::vector<std::string> constructs = getConstructs();
  16. std::vector<std::string>::iterator it = std::find(constructs.begin(), constructs.end(), functionName);
  17. if (it == constructs.end()) {
  18. return nullptr;
  19. }
  20. std::cout << "executeConstruct [" << functionName << "](" << params << ")\n";
  21. if (functionName == "document.querySelector") {
  22. return jsConstruct_querySelector(params, scope);
  23. }
  24. return nullptr;
  25. }
  26. js_internal_storage *jsConstruct_querySelector(std::string params, js_function &scope) {
  27. js_bool *jb = new js_bool;
  28. jb->value = false;
  29. return jb;
  30. }