Tôi đang hiển thị một số văn bản được tạo kiểu đơn giản dưới dạng html trong UIWebView trên iPhone. Về cơ bản, nó là một loạt các đoạn văn với cụm từ mạnh hoặc không được nhấn mạnh. Khi chạy, tôi cần áp dụng kiểu cho phạm vi văn bản.áp dụng kiểu cho phạm vi văn bản bằng javascript trong uiwebview
Có một vài trường hợp tương tự, một trong số đó là làm nổi bật kết quả tìm kiếm. Nếu người dùng đã tìm kiếm "cái gì đó" tôi muốn thay đổi màu nền sau các lần xuất hiện của từ đó, sau đó khôi phục lại nền gốc.
Có thể áp dụng kiểu cho phạm vi văn bản bằng javascript không? Một phần quan trọng của việc này cũng có thể bỏ đặt các kiểu.
Dường như có hai con đường có thể đi theo. Một trong những sẽ được sửa đổi một số html trong Objective-C và đi qua nó thông qua javascript là innerHTML mới của một số container. Cách khác là sử dụng javascript để thao tác trực tiếp các nút DOM.
Tôi có thể thao tác html, nhưng điều đó nghe có vẻ tẻ nhạt trong Objective-C vì vậy tôi sẽ thay đổi thao tác DOM nếu đó là một cách tiếp cận hợp lý. Tôi không quen thuộc với javascript và DOM vì vậy tôi không biết nếu nó là một cách tiếp cận hợp lý.
Tôi đã viết một số thủ tục để dịch giữa các phạm vi văn bản và các phạm vi nút có bù trừ. Vì vậy, nếu tôi bắt đầu với phạm vi văn bản 100-200 và bắt đầu trong một đoạn văn và kết thúc bằng một đoạn thứ ba, tôi có thể nhận được các nút văn bản và các khoảng trống trong các nút đại diện cho phạm vi văn bản đã cho. Tôi chỉ cần một cách để tách một nút văn bản tại một bù đắp trong văn bản. Hiện tại tôi chỉ áp dụng kiểu cho các đoạn có chứa phạm vi văn bản.
Một vài lưu ý:
- javascript thẳng xin vui lòng, không có khung bên ngoài như jquery.
- các thay đổi không bao giờ cần phải được ghi vào đĩa.
- các thay đổi phải được hoàn tác hoặc ít nhất là có thể tháo rời.
- các kiểu áp dụng đã tồn tại trong tệp css.
- nó cần phải hoạt động trong iPhone 3.0 và chuyển tiếp.
- tất cả các tệp nguồn được gửi cùng với ứng dụng.
- hãy tiết lộ chi tiết.
Cảm ơn mọi đề xuất.
Cảm ơn bạn. Đây là nhiều hơn tôi hy vọng. – drawnonward
Có lẽ đặt nó trên github, vì vậy chúng tôi có thể làm theo ít nhất. – Mark
Tôi đang làm việc trên thư viện phạm vi/lựa chọn đa trình duyệt sẽ bao gồm phiên bản cải tiến này. Chưa có nhiều tiến bộ, nhưng tôi đã tạo dự án Google Code: http://code.google.com/p/rangy/ –